c语言的小问题,纠结了我一会,归总还是自己这块不是太明白。
首先我们先看:
int a;//这个是申明了一个int类型的数,实际开辟了一个内存空间给a,a由一个,地址值。接下来你操作a就不会有问题。
int *a;//这样只是申明了一个指针变量,指针变量必须要指向地址,才能操作,否则就会报如题的错误。
//所以就会出现下面两种操作地址方法
int b;
a = &b;//通过已经申明的变量的地址赋给指针变量
a = (int *)malloc(sizeof(int));//为指针变量动态申请地址
以上可以说是比较容易忽略,上面代码简单,你可能还能看出来,如果几百行代码,你还能想到?