📜  c 连接和分配字符串 - C 编程语言(1)

📅  最后修改于: 2023-12-03 14:39:42.067000             🧑  作者: Mango

C 连接和分配字符串

在 C 语言中,字符串可以使用字符数组来表示。字符串连接和分配是在处理字符串时非常常见的操作。

字符串连接

字符串连接是指将两个或多个字符串连接成一个字符串。在 C 语言中,可以使用 strcat() 函数实现字符串连接。

#include <stdio.h>
#include <string.h>

int main()
{
    char str1[100] = "Hello";
    char str2[100] = " world!";
    
    strcat(str1, str2);
    printf("Result string is: %s\n", str1);
    
    return 0;
}

输出结果:

Result string is: Hello world!

在上面的代码中,我们声明了两个字符串变量 str1 和 str2,并初始化它们。然后使用 strcat() 函数将它们连接在一起,并使用 printf() 函数输出结果字符串。

注意:在使用 strcat() 函数时,目标字符串必须具有足够的空间来容纳要连接的字符串。否则会导致缓冲区溢出的错误。

字符串分配

字符串分配是指在程序运行时动态分配字符串内存空间。在 C 语言中,可以使用 malloc() 函数来实现字符串分配。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char *str;
    
    str = (char*)malloc(15);
    strcpy(str, "Hello");
    
    printf("Result string is: %s\n", str);
    
    free(str);
    return 0;
}

输出结果:

Result string is: Hello

在上面的代码中,我们使用 malloc() 函数动态分配了一个长度为 15 的字符串,并用 strcpy() 函数将字符串 "Hello" 复制到新分配的字符串中。然后使用 printf() 函数输出字符串。

注意:在使用 malloc() 函数分配字符串时,需要使用 free() 函数释放分配的内存。否则会导致内存泄漏的错误。

结论

字符串连接和分配是在处理字符串时非常常见的操作。在 C 语言中,可以使用 strcat() 函数实现字符串连接,使用 malloc() 函数实现字符串分配。在使用这些函数时,必须注意缓冲区溢出和内存泄漏的问题。