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专题
最新推荐文章于 2024-07-22 22:35:05 发布