各类变量在内存中的地址分配
来源:互联网 发布:linux如何退出命令 编辑:程序博客网 时间:2024/05/15 05:21
在Linux中写一个程序,里面全局变量,局部变量,static,const,常数,数组,输出这些变量的地址(包括赋值的和没有赋值的,各类数据类型)
#include<stdio.h>int a;int b = 1;int const c = 2;static int d;static int e = 3;char src1[20];char dest1[] = {'a','b'};int main(){ int f; int g = 1; int const h = 2; static int i; static int j = 3; char src[20]; char dest[] = {'a','b'}; printf("全局变量,未初始化 %p\n",&a); printf("全局变量,初始化 %p\n",&b); printf("常全局变量 %p\n",&c); printf("静态全局变量,未初始化 %p\n",&d); printf("静态全局变量,初始化 %p\n",&e); printf("全局数组,未初始化%p\n",src1); printf("全局数组,初始化 %p\n",dest1); printf("局部变量,未初始化 %p\n",&f); printf("局部变量,初始化 %p\n",&g); printf("常局部变量 %p\n",&h); printf("静态局部变量,未初始化 %p\n",&i); printf("静态局部变量,初始化 %p\n",&j); printf("局部数组,未初始化%p\n",src); printf("局部数组,初始化 %p\n",dest);}
在Linux中的运行结果截图
由结果可以看出
常全局变量在一个区域
局部变量、数组(包括已初始化和未初始化)、常局部变量,在同一个区域
静态局部变量、常全局变量、静态全局变量、全局数组(包括已初始化和未初始化)在一片区域,但是已经初始化的在未初始化的之前
进程的地址空间分配详见C语言第三课
0 0
- 各类变量在内存中的地址分配
- 临时变量在内存中的地址分配
- java中变量在内存中的分配
- java中变量在内存中的分配
- JAVA变量在内存中的分配
- 关于局部变量在内存中的地址
- 各种变量在内存中的高地址低地址问题
- 由swap看变量在内存中的分配
- c语言数组变量在内存中的连续分配情况
- C++程序变量在内存中的分配问题
- 代码在内存中的分配
- 对象在内存中的分配
- 程序在内存中的分配
- 进程在内存中的分配
- 类在内存中的分配
- 类在内存中的分配
- 各类型在内存中的表示
- 变量在内存中的形态
- 一些靠谱的素材站点
- The certificate used to sign "xxx" has either expired or has been revoked. An updated certifica
- 为Bean注入集合值
- jquery 父、子页面之间页面元素的获取,方法的调用:
- CAS体系结构
- 各类变量在内存中的地址分配
- 欢迎使用CSDN-markdown编辑器
- kvm安装配置,创建虚拟机,centos环境
- js图片无缝滚动
- SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别
- android—进程间通信之Messenger
- 常用英文翻译
- PHP面向对象_类型约束
- C++类的自动转换和强制转换详解和实现