1. 从概念上讲,C语言中没有字符串数据类型
2. 在C语言中使用字符数组来模拟字符串
3. C语言中的字符串是以’\0’结束的字符数组
4. C语言中的字符串可以分配于栈空间,堆空间或者只读存储区
#include <stdio.h>
#include<malloc.h>int main()
{
char s1[] = {'H','e','l','l','o'};
char s2[] = {'H','e','l','l','o','\0'}; //s2 save in stack
char* s3 = "Hello"; //s3 save in readonly memory
char* s4 = (char*)malloc(6*sizeof(char)); //s4 save in heap
s4[0] = 'H';
s4[1] = 'e';
s4[2] = 'l';
s4[3] = 'l';
s4[4] = 'o';
s4[5] = '\0';
free(s4);
s3[0] = 'h'; //error:s3 save in readonly memory
return 0;
}
gcc编译结果: