设为首页收藏本站 |天气与日历| 2025-04-20 星期日 07:47:00 乙巳(蛇)年 三月廿三 辰时 谷雨
     
切换到窄版

私人站点

 找回密码
 立即注册
搜索
查看: 122|回复: 0

存储类型总结

[复制链接]

954

主题

954

帖子

3875

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3875
发表于 2021-12-7 12:48:41 | 显示全部楼层 |阅读模式

类型
作用域
生命周期
存储位置
auto变量
一对{}内
当前函数
栈区
static局部变量
一对{}内
整个程序运行期
初始化在data段,未初始化在BSS段
extern变量
整个程序
整个程序运行期
初始化在data段,未初始化在BSS段
static全局变量
当前文件
整个程序运行期
初始化在data段,未初始化在BSS段
extern函数
整个程序
整个程序运行期
代码区
static函数
当前文件
整个程序运行期
代码区
register变量
一对{}内
当前函数
运行时存储在CPU寄存器
字符串常量
当前文件
整个程序运行期
data段
#include <stdio.h>
#include <stdlib.h>
int e;
static int f;
int g = 10;
static int h = 10;
int main()
{
        int a;
        int b = 10;
        static int c;
        static int d = 10;
        char *i = "test";
        char *k = NULL;
        printf("&a\t %p\t //局部未初始化变量\n", &a);
        printf("&b\t %p\t //局部初始化变量\n", &b);
        printf("&c\t %p\t //静态局部未初始化变量\n", &c);
        printf("&d\t %p\t //静态局部初始化变量\n", &d);
        printf("&e\t %p\t //全局未初始化变量\n", &e);
        printf("&f\t %p\t //全局静态未初始化变量\n", &f);
        printf("&g\t %p\t //全局初始化变量\n", &g);
        printf("&h\t %p\t //全局静态初始化变量\n", &h);
        printf("i\t %p\t //只读数据(文字常量区)\n", i);
        k = (char *)malloc(10);
        printf("k\t %p\t //动态分配的内存\n", k);
        return 0;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|编程站点 ( 冀ICP备2023028127号-2 )|友链申请|

GMT+8, 2025-4-20 07:47 , Processed in 0.083151 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表