05:数组

本文详细介绍了C语言中一维数组的定义、初始化、错误赋值以及示例代码,接着扩展到二维数组的格式、元素表示、初始化方法和遍历示例。
摘要由CSDN通过智能技术生成

1、 一维数组

定义:
    为n个变量连续分配存储空间
    所有的变量数据类型必须相同
    所有变量所占的字节大小必须相等

相关操作:
        不完全初始化

                   int a[5] = {1,2,3};//不完全初始化,未被初始化的元素自动为零

        完全初始化

                   int a[5] = {1,2,3,4,5};//a代表数组名,代表数组第一个元素的地址,一共有5个元素,分别为a[0]~a[4]。     

        清零

                   int a[5] = {0};

错误赋值:

int a[5];
a[5] = {1,2,3,4,5}; //错误,只有在定义数组的同时才可以整体赋值,其他情况下整体赋值都是错误的

int a[5] = {1,2,3,4,5};
a[5] = 100;//error因为没有a[5]这个元素,最打元素为a[4]

int a[5] = {1,2,3,4,5};
int b[5];//如果要把a数组中的值全部复制给b数组,错误的写法:
b = a ; //error
//正确的写法:
for(i=0 ;i<5;++i)
     b[i]=a[i];

①事例代码1:

/*打印输出a[0]~a[4]的元素*/
#include <stdio.h>
int main(void)
{
    int a[5] = {1,2,3,4,5};
    //a是数组名,5代表数组的元素个数,并且这5个元素分别为a[0],a[1]..a[4]。
    int i;
    for(i=0 ;i<=4 ;++i)
    {
      printf("%d",a[i]);
    }
    return 0;
}

12345

①事例代码2:

/*键盘录入数组元素,并依次输出*/
#include <stdio.h>
int main(void)
{
	int i;
    int a[5];
	printf("请输入5个整数,中间以空格隔开\n");
	for(i=0 ;i<=4 ;++i)
	{
		scanf("%d",&a[i]);
	}

	for(i=0 ;i<=4 ;++i)
	{
		printf("a[%d]=",i);
		printf("%d ,",a[i]);
	}
	printf("\n");
    return 0;
}

请输入5个整数,中间以空格隔开
11 25 34 51 64
a[0]=11 a[1]=25 a[2]=34 a[3]=51 a[4]=64

2、二维数组

格式:

int a[3][4];

总共是12个元素,可以当做3行4列看待,这12个元素的名字依次是:
  a[0][0]  a[0][1]   a[0][2]   a[0][3]
  a[1][0]  a[1][1]   a[1][2]   a[1][3]
  a[2][0]  a[2][1]   a[2][2]   a[2][3]

a[i][j]表示第i+1行第j+1列的元素。
int a[m][n];该二维数组右下角位置的元素只能是a[m-1][n-1]。

二维数组初始化:

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int a[3][4]={{1,2,3,4},
             {5,6,7,8},
             {9,10,11,12}
       };

①事例代码1:

/*二维数组元素的遍历*/
#include <stdio.h>
int main(void)
{
	int i,j;
    int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
	for(i=0 ;i<=2 ;++i)
	{
		for(j=0 ;j<=3 ;++j)
		{   printf("a[%d][%d]=",i,j);
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}

    return 0;
}

a[0][0]=1 a[0][1]=2 a[0][2]=3 a[0][3]=4
a[1][0]=5 a[1][1]=6 a[1][2]=7 a[1][3]=8
a[2][0]=9 a[2][1]=10 a[2][2]=11 a[2][3]=12

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值