C语言 之 二维数组与指针数组的定义认识、二维数组地址认识,二维数组与指针数组配合使用

目录

一、二维数组的地址认识

 1.代码演示

       运行结果:

2. 代码演示

       运行结果:

3.二维数组指针表现形式总结

 二、数组指针与二维数组

1.如何定义一个数组指针?

 代码演示:

数组指针注意事项

2.如何用数组指针访问二维数组的值?

代码演示:

运行结果:

3.数组指针和二维数组的配合使用

例题1:输入二维数组的行和列,找出对应二维数组行列的那个值。

代码演示:

运行结果:


一、二维数组的地址认识

访问二维数组值的示意图

 1.代码演示

#include<stdio.h>
int main()
{

	int arr[3][4] = {
  {1,3,5,7},{2,4,5,6},{11,22,33,44}};
	                                                          //三行四列的二维数组
	printf("arr是行的地址%p,偏移后行的地址是 %p \n",arr,arr+1);//二维数组偏移一个行地址,去介于列有多少个元素,这里是四列,类型为int型,所以行偏移16个字节大小。
	printf("arr[0]是列数组地址 %p ,偏移后地址是 %p \n",arr[0],arr[0]+1);
	printf("arr[0]是列数组地址 %p ,偏移后地址是 %p \n",*(arr+0),*(arr+0)+1);
	printf("arr[0]是列数组值 %d ,偏移后值是 %d \n", *(*(arr+0)) , *(*(arr+0)+1)  );
	
	return 0;
}

运行结果:

arr是父亲地址000000000061FDF0,偏移后地址是 000000000061FE00
arr[0]是子数组地址 000000000061FDF0 ,偏移后地址是 000000000061FDF4
arr[0]是子数组地址 000000000061FDF0 ,偏移后地址是 000000000061FDF4
arr[0]是子数组值 1 ,偏移后值是 3

2. 代码演示

#include<stdio.h>
int main()
{
	int arr[3][4] = {
  {1,3,5,7},{2,4,5,6},{11,22,33,44}};	
	int i,j;
	
	for(i=0;i<3;i++){
		for(j=0;j<4;j++){
			printf("地址是%p,值是%d\n",&arr[i][j],arr[i][j]);    
			printf("地址是%p,值是%d\n",arr[i]+j,*(arr[i]+j));       //arr[i]+j  二维数组在这里arr[i]是数组名字
			printf("地址是%p,值是%d\n",*(arr+i)+j,*(*(arr+i)+j));
			
			putchar('\n');
		}
		putchar(
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值