const小知识

来源:互联网 发布:幸运28大小算法 编辑:程序博客网 时间:2024/05/29 23:23

在群里看见一道关于c语言与const的题,竟然没做对

这是题目原题,正确答案是选AC

顺便总结一下

有个口诀就是左数右指,const在*号的左边,const指针指向的对象不能被修改,const指针也不是强制初始化,const指针可以指向其他对象

const在*号的右边,const指针是常量,不能被修改,必选初始化,但是指针指向的内容可以被修改

具体看代码

#include <stdio.h>#include <stdlib.h>int main(){    char str1[] = "hello";    char str2[] = "world";    ////左数右指 const在*的左边,指针指向的内容不能更改,不用必须初始化,指针可以指向其他内容    const char* p1=str1;    //const在*号的右边,指针是不能更改的,只能指向特定的对象,但是指针指向的内容是可以更改的    //指针指向的内容是*p2,*p2可以被重新赋值    char* const  p2=str2;    char str3[]="helloworld";    //const指针可以指向其他对象    p1=str3;    printf("p1 = %s\n",p1);    //p2是常量,但是p2指向的内容可以被修改    p2[2]='W';    printf("%s\n",p2);    //与上面的等价    *(p2+2)='L';    printf("%s\n",p2);    return 0;}


结果截图

 

0 0
原创粉丝点击