C语言变量在内存中存储问题
来源:互联网 发布:淘宝代销产品怎么改价 编辑:程序博客网 时间:2024/04/29 14:01
在C语言中,内存可以划分为3种,堆、栈、静态存储区。
栈:就是auto变量存放区域,自动释放,在编译的时候需要知道空间大小。(如int a = 10;)
堆:一般用作开辟动态存储区,需要人工开辟,人工释放,可以在运行时开辟。(如malloc()和free()函数)
静态存储区:这个区域存放一些常量,不能改变值。(如#define NUMBER 100)
char *p = "Test string";
*p = "string is changed";
这句话本身就是错的,首先字符串不能那样赋值。p指向一个字符,而不是整个一行。
就算换成
*p = 'P';
也是不对的,因为 char *p = "Test string"; 的意思是静态存储区放入"Test string",然后再栈开辟一个指针p,指向这个字符串。
也就是说p在栈中,而其指向的字符串在静态存储区中,所以能改变p指针的指向,但是不能改变其指向的值。
0 0
- C语言变量在内存中存储问题
- c语言中实数在内存中存储问题
- 【C语言】[变量]:变量在内存的存储位置
- c&c++中变量在内存中的存储
- c语言中变量在内存中的本质
- C语言的各种数据在内存中如何存储?
- C语言中 float double在内存中的存储
- C语言中浮点数在内存中的存储格式
- c语言中各数据类型在内存中的存储方式
- C语言中浮点数在内存中的存储方式
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中浮点数在内存中的存储方式
- C/C++变量在内存中的存储
- 乐视能在电视机行业复制小米的成功吗?
- #电商#国内外电商网站
- NYOJ 821 简单求值
- iOS在UIButton中换行
- java开发中如何调取远端的摄像头视频!
- C语言变量在内存中存储问题
- valuestack,stackContext,ActionContext.之间的关系
- 高性能 xmpp 服务器 ejabberd
- linux激活网卡命令
- ORACLE EM报错:出现Io 异常:Unknown host specified
- 利用哈夫曼编码压缩文件的小工具
- weblogic 启动报错java.net.UnknownHostException
- linux配置ssh免登录
- TestConstruct(构造函数执行顺序及选择)