在C程序中,字符串是存放在字符数组中的.想引用一个字符串,可以用以下两种方法:
①用字符数组存放一个字符串,可以通过数组名和下标引用字符串中的一个字符,也可以通过数组名和格式声明%s输出该字符串.
例:
char str[] = "Hello, World!";
printf("%s\n", str);
②用字符指针变量指向一个字符串常亮,通过字符指针变量来引用字符串常量.
例:
char* str = "Hello, World!";
printf("%s\n", str);
注意:
虽说,C风格字符串是用字符数组来处理的,但是二者是不同的.
例:
char str1[] = "string";
char str2[] = {'s', 't', 'r', 'i', 'n', 'g'};
这两者是不同的,前者是字符串,后者是字符数组,前者相当于
char str1[] = {'s', 't', 'r', 'i', 'n', 'g', '\0'};
而在sizeof()和strlen()函数中二者的结果也是不同的:
/*---打印结果为7, '\0'也占用1个字节---*/
printf("%d\n", sizeof(str1));
/*---打印结果为6---*/
printf("%d\n", sizeof(str2));
/*---打印结果为6,str1长度为6---*/
printf("%d\n", strlen(str1));
/*---打印结果不确定,因为在该数组中没有'\0',strlen是以'\0'为结束标志的---*/
printf("%d\n", strlen(str2));