栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

零基础只需要这一篇文章搞懂c语言中的数组访问

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

零基础只需要这一篇文章搞懂c语言中的数组访问

一维访问
  1. 使用数组下标访问,也是基础访问方式
 int a[6]={1,2,3,4,5,6};
printf("%d",a[5]);    // 6
int a1[2][3]={
{1,2,3},
{4,5,6}
};
printf("%d",a1[1][2]); //6

我们知道数组的索引是从0开始存储的,那么我们对数组进行下标访问时的下标范围为 0-数组长度-1.
2.使用指针进行访问

int a[6]={1,2,3,4,5,6};
printf("%d",*a); //1

在c语言中,数组名即为数组中第一个元素的地址,即为指向第一个元素的指针,对其进行解引用即可得到第一个指向元素的值.

我们知道指针是可以进行加法运算的,代表指向的地址前进,因为数组中的数据是连续存储的,所以进行*(a+1)的访问即为a所指向的元素的下一个元素

int a[6]={1,2,3,4,5,6};
printf("%d",*(a+5)); //6

可以发现采用指针访问和下标访问的数字部分是一样的,也是 0 -数组长度-1

多维数组的指针访问方式

这里以二维数组为例子

基础知识储备
  • 可把多维数组看作由一维数组组成的数组
  • 每行的行名为该行第一个元素的地址
指针访问
 int a1[2][3]={
 {1,2,3},
{4,5,6}
 };
 printf("%d",a1[1][2]); //6
 printf("%d",*(*(a1+1)+2)); //6

a1为数组中第一行的地址,对a1进行移动到第二行进行解引用即为第二行第一个元素的地址,再进行移动到第三个元素即为6
欢迎大家来交流啊!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691759.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号