二维数组-C语言

1.二维数组定义时为变量(int brr[3][4]表示行为3列为4的数组)。
使用时为下标(brr[1][2]表示二维数组中1行2列的数。
注:二维数组中行优先

int main()
{
	int brr[3][4];
	int crr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
	int drr[3][4] = {1,2,3,4,5,6,7,8,9,10};//不够的格子用0补******较常用
	int err[][4] = {1,2,3,4,5,6,7,8,9,10};  //同上**一般
	int brr[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};//定义时为长度
	brr[2][2] = 100;//使用时为下标
}

2.二维数组常用的运算
(1) //输出brr的内容

  for(int i=0;i<3;i++)
 {
    	for(int j=0;j<4;j++)
    {
    	printf("%d ",brr[i][j]);
    }
    	printf("\n");
}
    	Show(brr);

(2)//将brr矩阵逆置到crr中

int crr[4][3];
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<4;j++)
		{
			crr[j][i] = brr[i][j];
		}
	}

	printf("---------------\n");
	for(int i=0;i<4;i++)
	{
		for(int j=0;j<3;j++)
		{
			printf("%d ",crr[i][j]);
		}
		printf("\n");
	}

	return 0;
}

3.一维数组和二维数组的数据类型

一维数组 int arr[4]数据类型
arrint*x
arr+1int*x
arr[0]int x
arr[0]+1int x
二维数组 int brr[3][4]数据类型
brrint(*x)[4] (数组指针)
brr+1int(*x)[4] (*的优先级低于[])
brr[0]int *x(arr等同brr[0])
brr[0]+1int *x
brr[0][0]int x

在这里插入图片描述
**4. 指针数组:存放指针的数组 , int *p[4]
数组指针:指向数组中的指针, int(*p)[4]
指针函数:返回为指针的函数, int f()
函数指针:指向函数的指针, int(f)()

5.arr:是数组名,表示数组首元素的地址
&arr:是数组的地址

/*
#include "stdio.h"
int main()
{
	int arr[10]={0};
	printf("arr+1=%p\n",arr+1);//00F3FD64
	printf("&arr+1=%p\n",&arr+1);//00F3FD88
	return 0;
}

//注:数组的地址+1,跳过整个数组的大小

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值