C语言---Day8

17、字符串

---字符串是使用空字符 \0 结尾的一维字符数组,\0 是用于标记字符串的结束;空字符NULL是一个数值为0的控制字符,\0是转义字符;

             ---不需要把 null 字符放在字符串常量的末尾,C 编译器会在初始化数组时,自动把 \0 放在字符串的末尾

// 打印字符串
int main()
{
    char site[7] = { 'R', 'U', 'N', 'O', 'O', 'B', '\0' };
    printf("打印字符串: %s\n", site);  // 打印字符串: RUNOOB

    char str[] = "hello world";  // 栈区字符串
    char* p = str;
    printf("%s\n", p);  // hello world
    printf("%c\n", *p); // h
    printf("%c\n", *(p+1)); // e

    return 0;
}

 ---字符指针作为函数参数

// 计算字符串有效长度
// 1. 数组
int getLength(char* ch)
{
    int i = 0;
    while (ch[i] != '\0')
    {
        i++;
    }
    return i;
}
// 2. 指针
int getLength1(char* ch)
{
    char* temp = ch;
    while (*temp) temp++;
    return temp - ch;
}

int main()
{
    char ch[] = "hello world";
    int len = getLength(ch);
    printf("len = %d\n", len);  // len = 11
    int len1 = getLength1(ch);
    printf("len1 = %d\n", len1);  // len1 = 11

    return 0;
}

 

posted @ 2024-03-28 14:58  o·0  阅读(3)  评论(0编辑  收藏  举报