嵌入式C语言4.2 C语言内存空间的使用-指针与修饰符:const,volatile,typedef

女生的网名这么多〃 提交于 2020-03-31 13:16:08

const:变量,只读【不能变】

内存属性:

1. 内存操作的大小

2.内存的变化性,可写可读

char *p;

 

const char *p;     描述字符串,p指向的内容是只读的,不可再次修改

char const *p;

 

char * const p;   硬件资源的定义

char *p const;

 

const char *const p;

举个例子:

 

 虽然在定义指针p的过程中,前面没有写const,但是默认了他是只读属性,不能对访问内容修改

这个segmentation fault就是非法访问报错的!

正确写法:

 

 2. volatile  主要应用于硬件中

防止优化指向内存地址

char *p;

 

volatile char *p;

 

3. typedef  别名

什么类型  变量名称;

xxx a;

char *name_t;      // name_t 是一个指针,指向了一个char类型的内存

typedef char * name_t;  //name_t是一个指针类型的名称,指向了一个char类型的内存

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!