不可以给指针变量赋一个int作地址值。怎么解释,看不明白啊

2024-12-14 08:22:13
推荐回答(3个)
回答1:

意思是 不能把一个int型的值赋给一个指针变量,最后的“作地址值”,指针的值就是表示一个地址值。 我举个例子吧:
指针变量 int *p;
int型的值 int a;
所以把int型赋给指针变量,即 p = a; 这个表达式就是错的。 正确的应该是 p = &a; 即应该把a的地址赋给指针变量p

回答2:

可以的,在赋值的时候要做强制转换

回答3:

当然你也可以int a=1234;
*((volatile int *)a)=0x5678;
这样就让0x1234地址上的值是0x5678。要灵活一点