C和指针之const、#define、volatile
【摘要】 1、const
定义const 只读变量,具有不可变形
const int a = 100;
编译器通常不为普通Const只读变量分配存储空间, 而是将它们保存在符号表中, 这使得它成为一个编译期间的值,没有了存储与读内存操作,使用效率很高
#define M3 //宏常量 const int N...
1、const
定义const 只读变量,具有不可变形
const int a = 100;
编译器通常不为普通Const只读变量分配存储空间, 而是将它们保存在符号表中,
这使得它成为一个编译期间的值,没有了存储与读内存操作,使用效率很高
-
#define M3 //宏常量
-
const int N = 5; //此时并没有将N放入内存中
-
int i = N; // 此时为N分配了内存,以后不再分配内存
-
int I = M; // 预编译期间进行宏替换,分配内存
-
int J = N; // 没有内存分配
-
intJ = M //再次进行宏替换,有一次分配内存
-
const int *p; //p可变,p指向的对象不可变
-
int const *p; //p可变,p指向的对象不可变
-
int *const p; //p不可以变,p指向的对象可变
-
const int *const p; //p不可以变,p指向的对象不可变
const和#define区别
1、const 给出了对应的内存地址,不像#define一样给出的是立即数,const定义的只读变量在程序的运行中只有一份拷贝,(因为它是全局的只读变量,存放在静态区,
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/78440635
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)