c指针声明和初始化

正常声明并初始化1

1
2
3
int a = 1;
int *p;
p = &a; //初始化为已存在的指针地址

正常声明并初始化2

1
2
3
4
int* p;
p = (int*)calloc(2, sizeof(int)); //分配内存地址
*p = 1; //赋值为1
free(p); //自行分配的内存需要手动释放

指针必须经过分配内存才能再赋值,没有分配内存地址的指针不能直接赋值