【黑马程序员】C语言学习笔记之字符串(十)

来源:互联网 发布:淘宝指数网站 编辑:程序博客网 时间:2024/05/20 11:25

--------------------------------------------IOS期待与您交流!--------------------------------------------

一、字符串

字符串可以看做是一个特殊的字符数组,并在字符串的尾部添加了一个结束标志’\0’。

二、字符串的初始化

    // \0的ASCII码值是0    // 都是字符串    char name[5] = "it";    char name2[5] = {'i', 't', '\0'};    char name3[5] = {'i', 't', 0};    char name4[5] = {'i', 't'};    char name5[5];    name5[0] = 'i';    name5[1] = 't';    name5[2] = 0;    name5[3] = 0;    name5[4] = 0;        // 不算是一个字符串(只能说是一个字符数组)    char name6[] = {'i', 't'};

三、printf函数

printf函数在输出字符串的时候会从所给的字符串地址开始输出,直到遇到\0时结束输出。如下:
    char name[20] = "helloworld\0welcome";    printf("%s\n", name);    printf("%s\n", &name[3]);
输出:

helloworld

loworld

分析:
printf 函数在输出字符串时,接收的是字符串的地址。
printf("%s\n", name); 中的name其实是name[20]数组中的首地址,和&name[0]同一意思,所以从name[0]开始输出,直到\0时结束。
printf("%s\n", &name[3]);也是一样的,从name[3]的位置开始输出,直到\0时结束。

四、strlen函数

1> 计算的字符不包括\0
2> 计算的是字符数,并不是字数。一个汉字算作3个字符
3> 从某个地址开始数字符的个数,直到遇到\0为止
例如:
    int len = strlen("hello");      int len2 = strlen("hello我");        int len3 = strlen("hello\0world");      printf("%d\n", len);    printf("%d\n", len2);    printf("%d\n", len3);
输出:

5

8

5

分析:
应用1、2、3点就可以理解了


--------------------------------------------IOS期待与您交流!--------------------------------------------

详细请查看:http://edu.csdn.net

0 0