int *p = &a和int *p;*p=&a又区别吗?
int *p = &a; 意思是定义变量p,类型是int指针,变量p的值是 变量a的指针地址;
int *p; *p=&a; 意思是 定义了指针变量 p,但是没有赋值;使用*p = &a,是将a的指针地址赋值给p指针所指向的地址,因为前面p没有赋值,这个地方就会产生内存错误,通常初始化默认会为0,而0地址一般是不可写的;
所有 int *p = &a和int *p;*p=&a; 这两个是有区别的,但是 int *p = &a和int *p;p=&a; 这两是一致的;