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

--------------------------------------------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

你可能感兴趣的:(字符串,C语言)