C语言,指针变量不是只能指向变量,不能指向常量吗?

这题C选项p=0,它指向了一个常量0,这样不是不合法吗?

第1个回答  2020-08-09
指针变量是指向数据地址的,一般不指向常量,不过是可以指向常量的,
指向常量一般不用,数据地址是变的
常指向0表示空值!本回答被提问者采纳
第2个回答  2022-06-24
指针指向的是变量,不是指向变量的首地址。在C语言中,如果指针被赋值为某个变量的地址,通常称为:“指针指向了某个变量”。例如int* p;int x = 10, y=20;p = &x; /*将变量x的地址赋予指针p,p指向了变量x */……p = &y; /*将变量y的地址赋予指针p,p指向了变量y */另外,术语“变量的地址”与“变量的首地址”的含义是相同的。
第3个回答  2022-06-24
指针指向的是变量,不是指向变量的首地址。在C语言中,如果指针被赋值为某个变量的地址,通常称为:“指针指向了某个变量”。例如int* p;int x = 10, y=20;p = &x; /*将变量x的地址赋予指针p,p指向了变量x */……p = &y; /*将变量y的地址赋予指针p,p指向了变量y */另外,术语“变量的地址”与“变量的首地址”的含义是相同的。
第4个回答  2020-08-09
这题C选项p=0,它指向了一个常量0(这是一个特殊的常量,它等价于NULL,如同图中说明的一样),这样是合法的。
第5个回答  2020-08-09
NULL宏的值就是0

原则上对指针赋任何整型常量都是合法的,单片机编程中就经常有这种操作
只不过是指针指向的空间多半是无法操作的内存空间而已
相似回答