字符串和字符数组

原文:https://www.studytonight.com/c/string-and-character-array.php

字符串是被视为单个数据项的字符序列,以空字符'\0'结束。记住 C 语言不支持字符串作为数据类型。A 字符串实际上是 C 语言中的一维字符数组。这些通常用于创建有意义和可读的程序。

如果不知道 C 语言中的数组是什么意思,可以查看 C 数组教程,了解 C 语言中的数组。在继续之前,请查看以下文章:

例如:字符串“home”包含 5 个字符,包括编译器在字符串末尾自动添加的'\0'字符。

string in C

声明和初始化字符串变量:

// valid
char name[13] = "StudyTonight";        
char name[10] = {'c','o','d','e','\0'};      

// Illegal
char ch[3] = "hello";    
char str[4];
str = "hello";

字符串输入和输出:

  • %s 格式说明符读取从终端输入的字符串。

  • 但是 scanf() 函数会在遇到的第一个空格处终止输入。

  • 编辑设置转换代码%[..】可用于读取包含多种字符的行,包括空格。

  • gets()功能也可以用来读取带有空格的字符串

char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
char text[20];
gets(text);
printf("%s", text);

字符串处理函数:

C 语言支持大量的字符串处理功能,可以用来执行许多字符串操作。这些功能封装在 string.h 库中。因此,您必须在程序中包含 string.h 头文件才能使用这些功能。

以下是最常用的字符串处理函数。

| 方法 | 描述 | | strcat() | 它用于连接(组合)两个字符串 | | strlen() | 它用于显示字符串的长度 | | strrev() | 它用于显示字符串的反转 | | strcpy() | 将一个字符串复制到另一个字符串中 | | strcmp() | 它用于比较两个字符串 |

strcat()功能在 C:

strcat() function in C

语法:

strcat("hello", "world");

strcat()将把字符串“世界”添加到“你好”即 ouput = helloworld。

strlen()strcmp()功能:

strlen()将返回传递给它的字符串的长度,strcmp()将返回两个字符串的第一个不匹配字符之间的 ASCII 差异。

 int j = strlen("studytonight");
 int i=strcmp("study ", "tonight");
printf("%d %d",j,i);

12 -1

strcpy()功能:

它将第二个字符串参数复制到第一个字符串参数。

srtcpy() function in C

strcpy()功能示例:

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

int main()
{
    char s1[50], s2[50];

    strcpy(s1, "StudyTonight");     
    strcpy(s2, s1);     

    printf("%s\n", s2);

    return(0);
}

今晚学习

strrev()功能:

它用于反转给定的字符串表达式。

strrev() function in C

strrev()的代码片段:

#include <stdio.h>

int main()
{ 
    char s1[50]; 

    printf("Enter your string: "); 
    gets(s1);  
    printf("\nYour reverse string is: %s",strrev(s1)); 
    return(0); 
}

输入你的字符串:今晚学习 你的反串是:thginotyduts

相关教程: