1,什么是字符串?
所谓字符串本质上就是以\'\0作为\'结尾的特殊字符数组;
2,定义字符串的过程中有哪些注意点
由于字符串本质上其实就是以\'\0作为\'结尾的特殊字符数组,所以定义字符串时,必须保证字符串存储的最后一个元素为\'\0\'。
当我们没有给定字符串具体长度时,我们通过这种方式:char 字符串名称[] = {字符串所含元素}; 来定义字符串时,就需要手
动的在字符串末尾加上\'\0\',不然的话,它就仅仅是一个字符数组,而不是我们所需要的字符串。当我们给定字符串具体长度时,
也就是通过这种方式:char 字符串名称[字符串长度] = {字符串所含元素}; 来定义字符串时,就需要使字符串长度等于字符串实际
长度+1,不然的话,它也仅仅是一个字符数组,而不是我们所需要的字符串。具体实例见定义字符串的具体格式。
3,定义字符串的具体格式
3.1,char 字符串名称[字符串长度] = {字符串所含元素};
注意点:如果字符串所含元素中我们没有加上\'\0\',那么字符串长度应该就为字符串实际长度+1;
例如 :char name[6] = {\'T\', \'o\', \'m\', \'H\', \'e\'};
3.2,char 字符串名称[] = {字符串所含元素};
注意点:通过这种方式来定义字符串,则需要在{}中写上\'\0\';
例如:char name[] = {\'T\', \'o\', \'m\', \'H\', \'e\', \'\0\'};
3.3,char 字符串名称[] = "字符串所包含元素"
注意点:通过这种方式来定义字符串的底层原理其实就是将"TomHe",转换为了{\'T\', \'o\', \'m\', \'H\', \'e\', \'\0\'};
例如:char name[] = "TomHe"; <==> char name[] ={\'T\', \'o\', \'m\', \'H\', \'e\', \'\0\'};
具体代码如下:
#include <stdio.h> int main() { char str1[6] = {\'T\', \'o\', \'m\', \'H\', \'e\'}; char str2[] = {\'7\', \'8\', \'8\', \'\0\'}; char str3[] = "Tomhe789"; printf("str1 = %s\n",str1); printf("str2 = %s\n",str2); printf("str3 = %s\n",str3); return 0; }