今天看书的时候发现有一个矛盾的地方,在指针变量这一章前面刚说完不要讲一个整数赋值给指针变量,不合法,后面举例子的时候立马又说可以了,到底可不可以,还是说如果这个指针变量已经有指向的变量了就可以直接将整数赋给它?


今天看书的时候发现有一个矛盾的地方,在指针变量这一章前面刚说完不要讲一个整数赋值给指针变量,不合法,后面举例子的时候立马又说可以了,到底可不可以,还是说如果这个指针变量已经有指向的变量了就可以直接将整数赋给它?


int *p = 100;是定义一个指向整型的指针并赋初始值100,所以指针值是100,一般不建议这么做,除非你知道这个地址值是有效的。
int a;
int *p = &a;
*p = 100;
这里的*p=100;是向p指针所指的内存赋值100,即a=100,p的值仍然是a的地址没有变,和前面赋初值不一样的。