C语言之数组基础知识

一、思维导图

在这里插入图片描述

二、数组基础知识

数组:一组具体相同类型的元素的集合
数组名:数组首元素的地址 &a[0]=a
数组地址:& 数组名 ===》&a
数组变量的定义:通过[] 来表明申请元素的个数

在这里插入图片描述

数组的初始化:

1.全部初始化:
int a[4]={1,2,3,4};
全部初始化,数组的个数可以不用写,系统会自动推导
int a[]={1,2,3,4};
2.部分初始化0
初始化数组的前半部分,后面自动为 0
int a[4]={1,2,}; ===> int a[4]={1,2,0,0};
常用将数组全部初始化为0
int a[4]={0};

数组名与数组指针

数组名

1、 数组名是数组首个元素的地址
2、 数组首个元素的地址: &a[0] 与数组名等价 a
3、 数组首个元素的地址和数组的地址是两回事情 ===> &a[0] 和 &a 值是相同的,但是意义不同

数组名作为函数参数传递

1、数组名作为函数参数传递,实际上传递的是数组首个元素的地址
2、我们不能根据数组指针来计算数组元素个数,传参的时候要加上数组的长度
3、数组形参的写法:1、int *pa 2、int pa[10] ===> 括号内的数字是无效的,一般情况下都是不写的,pa不是一个数组,还是指针
1、void print(int *pa, int len)
2、void print(int a[], int len)

数组指针:指向数组的指针

定义: 数组 *p2 = &a;
int (*p2)[10] = &a;

1、数组指针可以当做数组名用,除了不能用来测长度
2、数组名可以当做数组指针来用,除了不能改变数组名本身的值====> 数组名是个指针常量,是不能改变的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值