|
Const专题 |
|
Intmain() {
3, const char *a =Oxa001; //称为常量指针 4. Char * const a; 5. Constchar * const a;
} |
|
代码1.和代码2.的作用是一样的:不能随便修改a的值 |
|
代码3.Const放在×的左边,修饰的是指针a中保存的地址所指向的内存空间,是指指针a中所保存的地址所指向的内存空间不可被写,只可被读 |
|
代码4.Const放在×的右边边,修饰的是指针a中保存的地址,是指指针a中所保存的地址不可改变,但是a中保存的地址所指向的内存空间可以被写(内容改变) |
|
代码5.×的左边和右边分别有const修饰,那么指针a中保存的地址和该地址所指向的内存空间多不可被改变 |
|
Voidabc(const char *from) { From[0] = ‘a’; // 错误! From++; //可以!
} |
|
Voidabc(char * constfrom) { From[0] = ‘a’; // 可以! From++; //错误!
} |
|
结论: 指针和指针所指向的内存空间是两个不同的概念,使用内存四区图来进行理解 看const的作用,看const是修饰×的左边还是右边,左边就是指针变量可以改(可以使用a=a+1,a为指针),但是该指针所指向的内存块不可以改变内容;右边就是指针变量不能改,但是该指针所指向的内存块可以改变内容。 |
c语言 Const专题
最新推荐文章于 2025-06-24 21:21:33 发布
本文深入解析C语言中const关键字的用法,包括它如何影响指针和指针指向的内存空间,以及如何在代码中正确应用。通过具体代码示例,详细解释了const关键字在不同位置的应用效果。
423

被折叠的 条评论
为什么被折叠?



