是的,字符型常量指针可以指向字符数组。字符数组和字符指针之间存在一些相互关联性,因此你可以使用字符型常量指针指向字符数组。字符数组是一个字符元素的有序集合,而字符指针是指向字符的指针。
示例:
const char *ptr; // 字符型常量指针
char str[] = "Hello"; // 字符数组
ptr = str; // 可以将字符数组的地址赋给字符型常量指针
printf("%s\n", ptr); // 输出 "Hello"
在上述示例中,我们声明了一个字符数组 str
,然后使用字符型常量指针 ptr
将其地址赋值给了 ptr
。此时,ptr
指向了字符数组 str
,并且可以用来访问和输出字符数组的内容。
需要注意的是,如果你使用字符型常量指针指向字符数组,你可以访问字符数组的内容,但不能修改它,因为ptr
是一个字符型常量指针,它指向的数据被视为不可修改。如果需要修改字符数组,你可以使用非常量字符指针。
#include <stdio.h>
int main() {
char str[] = "hello";
const char *ptr = str;
char *ptrs = str;
ptrs[3] = '6';
*(ptrs+2) = '4';
printf("%s",ptr);
return 0;
}