要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( ) A. const char *p="ABCD"; B. char const *p="ABCD"; C. char *const p="ABCD"; D. const char * const p="ABCD";
时间: 2024-03-31 10:32:01 浏览: 68
正确答案是 D. const char * const p="ABCD"。
这里需要同时使用两个 const 关键字:
- 第一个 const 用于修饰指向的数据类型 char,表示所指向的数据是不允许被修改的。
- 第二个 const 用于修饰指针变量 p,表示指针本身也是不允许被修改的。
选项 A 和 B 中的 const 修饰的是 char,表示所指向的数据是不允许被修改的,但是指针本身是允许被修改的,不符合题意。
选项 C 中的 const 修饰的是指针变量 p,表示指针本身是不允许被修改的,但是所指向的数据是允许被修改的,也不符合题意。
相关问题
const char *p;char const*p;char*const p; const char* const p;四个修饰指针有什么区别?
这四个修饰指针的区别在于它们修饰的部分不同,具体如下:
1. const char *p:这个修饰指针表示指针p所指向的内存中的数据是常量数据,指针p本身可以变化。
2. char const *p:这个修饰指针和上一个修饰指针一样,表示指针p所指向的内存中的数据是常量数据,指针p本身可以变化。只是这里的语法上有些不同,建议使用第一个。
3. char* const p:这个修饰指针表示指针p本身是常量,指针所指向的内存中的数据可以变化。
4. const char* const p:这个修饰指针表示指针p本身和指针p所指向的内存中的数据都是常量,都不能变化。
希望这个解答能够帮到您!
const char *p , char const *p 和 char *const p有什么区别
const char *p, char const *p和char *const p有以下区别:
1. const char *p和char const *p是一样的,它们都是指向常量字符的指针。这意味着指针p指向的字符是不可修改的,但指针本身是可变的,可以指向其他常量字符。也就是说,我们不能通过指针p来修改它所指向的字符的值,但可以通过p来改变它指向的位置。
2. char *const p是一个常量指针,它指向的字符是可变的,但指针本身是不可变的。这意味着指针p不能指向其他位置,但可以通过指针p来修改所指向字符的值。
3. const char *const p是一个既指向常量字符又是一个常量指针。它指向的字符是不可修改的,同时指针本身也是不可变的,不能指向其他位置。
总结来说,const char *p和char const *p都是指向常量字符的指针,但指针本身是可变的;而char *const p是一个常量指针,指向的字符是可变的;const char *const p既指向常量字符又是一个常量指针。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)