//概论:C没有为字符串定义专门的变量类型,而是转它存储到char数组中
//创建单个字符
char a = 'A';
a = 65;
a = '\b';
//TODO:创建字符字符&字符数组
//方式1 字符数组
char name[] = {'j','a','s','o','n'};
char ch[] = {'a','b','c','d'};
char myFirstC[] = {'a','d','c','b'};
//字符内存字节大小
int d = sizeof(name);
int dd = sizeof name;
//方式2
//字符数组
char myT[] = {"hello"};
char myS[] = "hello"; //省略花括号
int md = sizeof(myT);
//_______备注:方式1 和 方式2 的输出结果是一样的,两种方法都是将一个或多个内存为一字节的字符初始化为数组;
//当数组元素个数少于实际长度,出现值异常,如果大于实际长度则补 结束符 '\0'
//方式3
//字符串数组指针&单个字符,元素个数大于实际长度则超出的元素为 NULL
char *ch3 = "worlddddddddddddddddddddddddddddd88888888888888888888888888888888888888888888888888"; //单个字符串
char *ch33 = "world2"; //单个字符串
char *ch4[4] = {"welcome", "," ,"doudou745","doudou745","doudou745","doudou745"};//字符指针数组
char *ch5[] = {"welcome"};;
int cd = sizeof(ch4); // 32 字符数组指针在当前系统占用32个字节内存空间
int cdd = sizeof(ch3); // 8 字符指针在当前系统占用8个字节内存空间
int cddd = sizeof(ch33); // 8 字符指针在当前系统占用8个字节内存空间
//字符数组取数组下标元素值
char *aaa = ch4[0];
printf("%s %s",ch3,ch4[2]);
//strlen 字符串长度,忽略结束符 '\0'
size_t aa = strlen(name);
//转十六进制
printf("%x %X %#x\n",31,31,31);
//限制字符串输出
const char *cc = "A good girl tell me that.....I V U";
printf("%.11s\n%35s\n%36s\n%37s\n%-37s",cc,cc,cc,cc,cc);
/*
A good girl
A good girl tell me that.....I V U
A good girl tell me that.....I V U
A good girl tell me that.....I V U
A good girl tell me that.....I V U (lldb)
*/
//无参初始化
char empty[10];
empty[0] = 'd';
empty[1] = 'e';
gets(empty);