C语言,在32位系统中定义一个4字节空间的全局变量a,实现a可以存放各种类型的地址
时间: 2024-02-11 13:06:13 浏览: 73
谈谈C语言中的变量.pdf
在32位系统中,一个指针通常是4个字节,所以可以使用`void *`类型的指针来实现全局变量a可以存放各种类型的地址。具体实现如下:
```c
#include <stdio.h>
// 定义一个全局变量a
void *a;
int main() {
int x = 1;
double y = 2.0;
// 把x的地址存放到a中
a = &x;
// 从a中获取地址读取变量x的内容
printf("%d\n", *(int *)a);
// 把y的地址存放到a中
a = &y;
// 从a中获取地址读取变量y的内容
printf("%lf\n", *(double *)a);
return 0;
}
```
注意,在实际使用中需要注意指针类型和指针指向的数据类型是否匹配,否则可能会导致数据读取错误。
阅读全文