c c string - yaokun123/php-wiki GitHub Wiki

字符串

一、字符串常量

字符串常量存文字常量区,""在使用时,取的是字符串首元素的地址

文字常量区的内容是不能被改变的

#include<stdio.h>
#include<string.h>

int main(){
    char a[] = "hello world";
    printf("sizeof = %lu\n",sizeof(a));//12
    printf("strlen = %lu\n",strlen(a));//11
    a[0] = 'm';//这里修改的是数组首元素的值
    printf("%s\n",a);



    char *p = a;
    *p = 'h';//这里修改的还是数组的首元素值
    printf("%s\n",p);


    p = "abcdef";//改变了指针变量的指向,字符串常量存文字常量区
    printf("%s\n",p);

    //*p = 'm';//文字常量区的内容是不能被修改的

    return 0;
}

二、const修饰指针

const修饰指针,不能通过指针修改指针所指向的空间

#include<stdio.h>

int main(){
    char a[] = "hello world";

    //const修饰指针,不能通过指针修改指针所指向的空间
    const char *p = a;
    //*p = 'm';
    return 0;
}

三、const修饰变量

#include<stdio.h>

int main(){
    char a[] = "hello world";

    char * const p = a;//指针变量p初始化之后不能改变p指针变量本身的指向
    char b = 'a';
    p = &b;
    return 0;
}
⚠️ **GitHub.com Fallback** ⚠️