其实这两个定义,在初学c时,我们就该把他们弄懂,其实到了现在我才明白。
两者都需要占有内存。不同的是否可以重新赋值。
char buf[]=="hello"; // 这里的"hello"用来初始化,不是字符串常量,不需要占用内存。
cout<<"hello"<<endl; // 这里的"hello"是字符串常量,占用内存。
字符串常量的类型是指向字符的指针(char *),它与数组名(如果是字符数组)同属于一种类型(const char *)。字符串常量在内存中以‘\0‘结尾。
int strcpy(const char *str1,const chat *str2);//仅能对以‘\0‘结尾的数组或字符串操作。
memcpy(void *,void *,int size);//内存拷贝。
指针数组:
char * name[]={"xiadz","summer","cookie"};
char * name[]={"xiadz","summer","cookie"};
时间: 2024-10-25 14:53:03