C_C风格字符串

在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));

猜你喜欢

转载自blog.csdn.net/sss_0916/article/details/84444721