为常量内存位置地址创建指针??(C编程)

时间:2011-10-11 12:06:20

标签: c pointers

问题

1.)是否可以声明一个指针变量来引用一个常量的内存地址??我在pt = &20;之前尝试过这个( ** pt是指针变量)但它不起作用,所以它意味着我们不能这样做吗?顺便说一下,如果有可能我将如何解决它?

3 个答案:

答案 0 :(得分:5)

没有。你必须这样做:

const int x = 20;
const int* p = &x;

答案 1 :(得分:0)

是的。

void * ptr = 0xdeadcode;

不要这样做。

编辑:或者你的意思是,一个常量的地址,而不是常量地址?像:

const int n = 123;
const int *ptr = &n;

答案 2 :(得分:0)

不,作为20的文字常量不是对象,因此它们没有地址。

与Alex的回答中的const限定变量不同。因为所有变量都是指一个对象,所以你可以拿走他们的地址。但请注意,您必须将指针指向const限定类型。