摘要:在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
一、数组的初始化
在C语言中数组的初始化,用{}进行初始化,数值类型的初始化如下:
int intArr={1,2,3,4};
每个元素的中间用,分隔;字符类型的数组初始化如下:
char chaArr={'H','e','l','l','o'};
每个字符元素用''包裹起来。说到这里我重点来说说字符数组,我们知道在C语言中是没有String类型的,那么我们通过什么形式来声明字符串呢?我们有两种方式,一种是数组一种是指针,我们这里来说通过字符数组来申明字符串。
通过字符数组初始化字符串的形式有两种,如下:
char chaArr={'H','e','l','l','o'};
char chaArr="hello";
但是这两种方式存在差异,C编译器会自动为char chaArr="hello";这种形式的初始化添加\0结束符,所以char chaArr="hello";这种形式声明的字符串数组的实际情况是这样的:
char chaArr={'H','e','l','l','o','\0'};
所以char chaArr="hello";这种型式初始化的字符串实际长度会多1,这一点要尤其的注意;
在输入时字符数组也有以下两种形式进行输入
char name[10];
for(int i=0;i<10;i++)
{
scanf("%c",&name[i]);
}
scanf("%s",&name);
二、字符串的常用方法
字符串的常用方法在使用前都需要添加#include<string.h>头文件
2.1 int puts(char* str)
puts函数跟printf()不同的地方在于,puts输出后会自动换行,怒需要添加\n的换行符。当puts函数中遇到\0结束符时后面的字符将不打印显示。
图1
2.2 char* gets(char* str)
调用gets函数时系统会等用户输入字符,输入字符按下enter后,gets()获取字符结束。
图2
2.3 int strlen(char* str)
获得字符串的长度,确切的来说是有效长度。
图3
2.4 除此之外还有如下方法希望大家亲自尝试
字符串的复制:strcpy(目的字符串,源字符串);
字符串的连接:strcat(目的字符串,源字符串);
字符串的比较:strcmp(字符串1,字符串2);
字符串的元素大写:strupr(char* str);
字符串的元素小写:strlwr(char* str);














网友评论