在C语言中,字符串是一系列字符的数组,以空字符 '\0' 结尾。以下是有关C语言字符串的基本知识:

1. 字符串的声明和初始化:
#include <stdio.h>

int main() {
    // 字符串的声明和初始化
    char str1[] = "Hello, World!";  // 自动计算数组大小
    char str2[12] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '\0'};
    char str3[12] = "Hello, World!";  // 可以省略数组大小

    printf("str1: %s\n", str1);
    printf("str2: %s\n", str2);
    printf("str3: %s\n", str3);

    return 0;
}

2. 字符串的输入输出:
#include <stdio.h>

int main() {
    char name[20];

    // 从标准输入读取字符串
    printf("Enter your name: ");
    scanf("%s", name);

    // 输出字符串到标准输出
    printf("Your name is: %s\n", name);

    return 0;
}

3. 字符串的函数操作:

C语言中提供了许多处理字符串的标准库函数,例如 strlen、strcpy、strcat、strcmp 等。
#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello";
    char str2[20] = "World";

    // 字符串连接
    strcat(str1, str2);
    printf("str1 after concatenation: %s\n", str1);

    // 字符串比较
    int result = strcmp(str1, str2);
    if (result == 0) {
        printf("str1 and str2 are equal\n");
    } else {
        printf("str1 and str2 are not equal\n");
    }

    return 0;
}

4. 字符串的指针操作:
#include <stdio.h>

int main() {
    char str[] = "Hello, World!";
    char *ptr = str;  // 指向字符串的指针

    // 使用指针遍历字符串
    while (*ptr != '\0') {
        printf("%c", *ptr);
        ptr++;
    }
    printf("\n");

    return 0;
}

请注意,C语言中没有内置的字符串类型,字符串实际上是以字符数组的形式存储的。处理字符串时需要小心数组的边界,以防止缓冲区溢出等问题。




转载请注明出处:http://www.zyzy.cn/article/detail/3183/C语言