字符串指针与字符数组

#include <stdio.h>

int main(void)
{
    char *p = "abcdefg";                //用字符指针时,字符串存于常量区 P存储的是字符串的首地址; 
    char a[] = "abcdefg";               //因为char a[] 是在栈中建立的,编译器会为此开辟内存空间,
                                        //字符数组有内存空间 ,数组初始化是从常量区把字符串复制
                                        //给数组,而指针初始化是复制字符串的地址; 
    int i = 4;
    *(p + i) = 'q';                     //存储在常量区的字符串是不能更改的 
    printf("*(p+%d) = %c",i,*(p+i));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/u012780337/article/details/77720284