C语言中能不能将一个整数赋给一个指针变量?

谭浩强的书说*point_1=100;是非法的,又说*p=1;是合法的。
2024-12-01 07:36:18
推荐回答(5个)
回答1:

系统内存使用是操作系统规定的,如果你希望直接操作内存,就必须了解系统的内存的分配情况,否则造成的损失可能是致命的。你的举例是不完整的,如果说*point_1=100是非法的,完整语句应该是int *point_1=100,之所以非法是因为100不是用户可以操控的内存区域。*p = 1之所以数合法的,是因为将p所指的内存赋予整数1,例如Int a;int *p = &a;*p = 1; // 等价于赋值语句a = 1,

回答2:

在某种场合,把常量赋给指针变量是可以的,例如:
int a=10, *p ;
printf("%d",&a);
在以上代码输出a的地址值之后,譬如:1244996
以上程序可以改为:
int a=10,*p;
p=1244996;
printf("%d",*p);
输出10

回答3:

*point_1=100; 将100赋值给point_1指向的地址。

回答4:

point-t 里存放的是地址。。。

回答5:

初始化时不能,*p=1可以