题目
给出以下定义
- const char *P1=”hello”;
- char *const P2=”world”;
以下哪些操作是合法的?
- P1++;
- P1[2]=’W’;
- P2++;
- P2[2]=’1′;
分析
P1和P2都是字符指针,所以字符串”hello”和”world”都是字符串常量,不能修改,所以操作2 4都不合法。
P2是指针常量,也就是说P2的地址是不能修改的,操作3:P2++不合法。
P1是常量指针,指针指向的内容是常量,不能通过其修改,但是指针本身可以修改,P1++合法。
所以,合法的是操作1。
知识点
版权声明:本文为qq_21989927原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。