在Linux操作系统编程中,通常会分配4G的虚拟地址空间给用户,其中又分为了用户态和内核态,用户态中有栈空间,堆空间,数据段和代码段等等,栈空间主要存放了定义的局部变量,形参和调用的函数等,而堆空一般用于函数malloc申请的内存,(realloc作用是把申请的内存连接起来形成连续的内存区域),代码段存放了代码,数据段主要存放了全局变量,结构体,常量等。
在程序中使用数据也需要注意: char *s = “helloworld” 其中字符串存放在数据段的只读取,是常量不可修改,char s[32] = “helloworld” 定义了字符串,在(栈)空间可修改。
const函数修饰了只读变量,表示不能通过变量名修改,但可以通过地址修改。
例:char *s;
//strcpy(s,“helloworld”);//段错误
s= “helloworld”;//字符串常量
char ch[32] = {0};
//ch = “helloworld”;
strcpy(ch,“helloworld”);
C语言关于数据存放问题
最新推荐文章于 2022-07-24 02:17:02 发布