字符数组

tech2022-07-07  189

学习一维数组定义的时候,有如下的一个例子:

int array[3] = {10, 11, 12};

此时,定义一个一维数组,数组的长度是3个元素,元素的类型是int类型,元素可以存放一个整数值。

那么,如果数组元素的类型是char字符型,那么,这样的数组称为:字符数组。例如:

char array[3] = {'A', 'B', 'C'};

此时,定义的array数组元素类型是char字符型,那么,该数组称为:字符数组。每个数组元素存放一个字符,如下:

array[0] 存放 'A'字符;

array[1] 存放 'B'字符;

array[2] 存放 'C'字符;

注意,字符类型的数据,在内存中,以其ASCII码对应的整数值存放。例如字符'A'的ASCII码是65数值,字符'B'的ASCII码是66数值,字符'C'的ASCII码是67数值,那么,上面定义的字符数组,等价于下面的定义:

char array[3] = {65, 66, 67};

此时,给char类型变量设置的是字符的ASCII值。程序测试例子如下:

 

程序运行结果如下:

 

可以看到,定义了array字符数组与array1字符数组存放的数据是一样的。array字符数组存放字符常量,array1字符数组存放字符的ASCII码值。那么,输出数值元素的值时,以 %c 格式输出字符表示形式。如果以%d格式输出,输出的是整数值,就是输出字符的ASCII码值。

可以看到,字符数组是一维数组,它的元素类型是char类型。那么,访问字符数组的元素,与访问一维数组的元素一样,没有任何区别,都可以通过“下标”来访问。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

最新回复(0)