全局变量,局部变量,static,const,数组变量的地址打印及地址空间总结
来源:互联网 发布:网络问卷调查怎么弄 编辑:程序博客网 时间:2024/05/21 12:49
在Linux中写一个程序,里面全局变量,局部变量,static,const,数组,输出这些变量的地址(包括赋值的和没有赋值的,各类数据类型)
#include <stdio.h>#define MAX_SIZE 10int a;int b = 1;static int st1;static int st2 = 1;const int e = 1;char src1[MAX_SIZE];char src2[MAX_SIZE] = {'a','b','c'};int main(){ int c; int d = 1; static int st3; static int st4 = 1; const int f = 1; char src3[MAX_SIZE]; char src4[MAX_SIZE] = {'a','b','c'}; printf("无初始化全局变量地址:%p\n",&a); printf("初始化全局变量地址:%p\n",&b); printf("无初始化静态全局变量地址:%p\n",&st1); printf("初始化静态全局变量地址:%p\n",&st2); printf("常全局变量地址:%p\n",&e); printf("无初始化全局数组地址:%p\n",src1); printf("初始化全局数组地址:%p\n",src2); printf("\n"); printf("无初始化局部变量地址:%p\n",&c); printf("无初始化局部变量地址:%p\n",&d); printf("无初始化静态局部变量地址:%p\n",&st3); printf("初始化静态局部变量地址:%p\n",&st4); printf("常局部变量地址:%p\n",&f); printf("无初始化局部数组地址:%p\n",src3); printf("初始化局部数组地址:%p\n",src4); printf("\n"); return 0;}
执行结果:
总结:
由结果可以看出
常全局变量在一个区域
局部变量、数组(包括已初始化和未初始化)、常局部变量,在同一个区域
静态局部变量、常全局变量、静态全局变量、全局数组(包括已初始化和未初始化)在一片区域,但是已经初始化的在未初始化的之前
0 0
- 全局变量,局部变量,static,const,数组变量的地址打印及地址空间总结
- 全局变量与局部变量的地址
- 全局变量、局部变量、const、static、extern
- C语言 const static 静态变量 全局变量 局部变量
- 打印全局、局部、static变量的地址,确定其存储位置
- C语言 静态变量、全局变量、局部变量、指针变量 地址
- static全局、局部变量,全局变量及局部变量
- static变量,全局变量,局部变量
- keil调试:局部变量地址和全局变量地址重叠
- static全局变量 局部变量的原理 本质
- static修饰的全局变量和局部变量
- C语言局部变量地址空间
- 返回局部变量的地址
- 局部变量地址的返回
- static全局变量,static局部变量,static函数与全局变量,局部变量,普通函数的区别
- const全局变量和局部变量
- 普通局部变量、普通全局变量、static局部变量、static全局变量
- C语言中,局部变量、全局变量、静态变量、堆、栈的内存地址
- poj 2455
- 【10月英语——带给我不一样的心境】
- Linux 用pv操作和共享内存实现生产者与消费者机制
- Android应用框架之BroadcastReceiver
- 拓展django后台
- 全局变量,局部变量,static,const,数组变量的地址打印及地址空间总结
- 欢迎使用CSDN-markdown编辑器
- 中文乱码问题
- 嵌入式Linux开发工具之调试器gdb
- properties配置文件放在哪里
- 依赖注入
- 最小生成树模板.
- 快捷键
- Android开发自白