C基础-数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C基础-数组相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <string.h>
void main()
{
//一维数组定义方式1:元素均为单个字符,要确定数组长度
char t_array1[5] = {‘h‘,‘e‘,‘l‘,‘l‘,‘o‘};
//一维数组定义方式2:元素为一个字符串,可省去数组长度
char t_array2[] = "hello";
//一维数组定义方式3:可使用指针指向一维数组(在使用时指针可作为一维数组)
char *t_p1 = "world!";
int i;
int j;
//打印数组方式1:使用for循环打印数组元素
for(i = 0; i < 5; i++) { printf("%c",t_array1[i]); } putchar(‘\n‘);
//打印数组方式2:使用%s打印数组元素
printf("t_array1 = %s\n",t_array1); //因为没有\0结束符,所以输出时有乱码
//在打印未确定长度的数组时,使用sizeof(array_name)来确定数组长度
for(i = 0; i < sizeof(t_array2); i++) { printf("%c",t_array1[i]); } putchar(‘\n‘);
//此时指针作为一维数组使用
printf("t_p1 = %s\n",t_p1);
//--------------------------------------------------------------------
//定义二维字符数组
char t_array3[3][3] = {‘a‘,‘b‘,‘\0‘,‘c‘,‘d‘,‘\0‘,‘e‘,‘f‘,‘\0‘};
//使用行列循环变量i,j打印二维数组
for(i = 0; i < 3; i++) { for(j = 0; j < 3; j++) { printf("%c",t_array3[i][j]); } putchar(‘\n‘); } putchar(‘\n‘);
//或者只用列循环变量i和$s打印二维数组
for(i = 0; i < 3; i++) { printf("%s\n",t_array3[i]); } putchar(‘\n‘);
char t_array4[3][10] = {"hello","123456789","Jack"};
//分别输出:10,10,10(因为定义长度为10) 而不是5,9,4
printf("1 : %d\n",sizeof(t_array4[0]));
printf("2 : %d\n",sizeof(t_array4[1]));
printf("3 : %d\n",sizeof(t_array4[2]));
//也可使用strlen(array_name)来确定数组长度
for(i = 0; i < 3; i++) { for(j = 0; j < strlen(t_array4[i]); j++) { printf("%c",t_array4[i][j]); } putchar(‘\n‘); } putchar(‘\n‘);
}
以上是关于C基础-数组的主要内容,如果未能解决你的问题,请参考以下文章