c语言,普通变量可以接收指针变量地址吗 int x *pa x=pa: 可以吗 有什么定义依据

2025-12-14 16:03:10
推荐回答(5个)
回答1:

以你上面的定义,;理论上来说是不可以的,因为你没有给指针分配地址。得到的是随机地址,如果你int *p = NULL 这样得到的是一个0;也就是说是一个空指针。

回答2:

可以,因为指针也是一个占4字节的整数,表示地址。

回答3:

这样做很不好,你可以在编译器下试试,这种做法编译器都不允许,更何况咱们自己分析呢,
int x;实在栈区分配的内存,因为这是属于静态区的变量
而int *pa;是动态堆区变量,两个所属区域都不同,赋值肯定是有危险的。
可以将x的地址赋值给pa;
仅此而已

回答4:

指针也是一个数字,只是用这个数字寻找指定的地址而已

int类型 和指针类型是可以转换的。

只是指针可以通过程序找到相应的内存所在的位置

回答5:

pa并没有具体的指向,就是没有地址值,这样赋值没有意义。