C:论char[]与char*

版权声明:K5出品,必属精品,欢迎收藏评论 https://blog.csdn.net/a694861283/article/details/89917814

一.char[]

char[]表示字符数组

char a[10];        //一维字符数组
char a[10][5];     //二维字符数组
char a[5]={'a','b'};    //多个字符赋值给字符数组
char a[]={'a','b'};     //多个字符赋值给字符数组

char a[5]={"abc"};    //字符串赋值给字符数组
char a[5]="abc";      //字符串赋值给字符数组
char a[]="abc";       //字符串赋值给字符数组

//注意:字符串总是以'\0'作为串的结束符,编译器已经在末尾自动添加了'\0'

二.char*

char*表示字符指针

char* p="test";

//由于p指针指向的是字符串常量,所以推荐这样写:const char* p="test";

三.char*和char[]的相同

在传递函数参数的时候,字符数组和字符指针可以相互代替

void Test(int* a){

}

int main(){

    int a[]="test";
    Test(a);
}

//或者

void Test(int a[]){

}

int main(){
    
    int* a="test";
    Test(a);
}

四.char*和char[]的不同

(1)字符指针是变量,可以改变值,字符数组名是常量,不能变

(2)字符指针指向的字符串常量,不能变,字符数组名指向的内存区域可以变

猜你喜欢

转载自blog.csdn.net/a694861283/article/details/89917814