各变量在内存中的位置
来源:互联网 发布:python做数据分析 编辑:程序博客网 时间:2024/05/16 23:57
在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语言第三课
- 各变量在内存中的位置
- 变量在内存中的位置
- 程序中各变量在内存中的位置
- 变量在内存中的存放位置
- 全局变量、局部变量在内存中的位置
- 变量在内存中的存储位置
- 变量和值在内存中的存储位置
- C++中的引用变量在内存中存放的位置
- 变量和值在内存中的存储位置
- 变量和值在内存中的存储位置
- 局部变量和全局变量在内存中的存储位置
- 变量和值在内存中的存储位置
- 程序代码,常量,局部变量,全局变量,在内存中的储存位置
- 程序代码,常量,局部变量,全局变量在内存中的保存位置
- 变量和值在内存中的存储位置
- c中的变量在内存中存放的位置
- C++中的引用变量在内存中存放的位置
- 程序代码,常量,局部变量,全局变量在内存中的保存位置
- 数据库工具类
- JAVA反射使用手记
- linux的计划任务
- mac os 10.11安装lib event遇到<openssl/bio.h> not found
- tinypy源码笔记(五)——异常处理
- 各变量在内存中的位置
- python基础内容概要(实时更新)
- 坚持#第72天~凭直觉控制速度
- Spring Security教程(13)---- 验证码功能的实现
- 少有程序员读的书
- 初赛复习
- 一个 Linux 上分析死锁的简单方法
- 在js中利用ajax技术实现不刷新更新内容
- go语言defer的用法