C语言相关知识——指针(数组)

1.通过指针引用数组

1.数组元素的指针

        数组指针:数组中的第一个元素的地址,也就是数组的首地址。
        指针数组:用来存放数组元素地址的数组,称之为指针数组。
        注意:虽然我们定义了一个指针变量接收了数组地址,但不能理解为指针变量指向了数组,而应该理解为指向了数组的元素。

2.指针运算

指针运算:指针变量必须要指向数组的某个元素。
元素指针运算说明
1自增:p++,++p,p=p+1,p+=1
让指针变量指向下一个元素
2自减:p--,--p,p-=1
让指针变量指向上一个元素
3加一个数:p+1
下一个元素的 ( ) 地址
4减一个数:p-1
上一个元素的 ( ) 地址
5指针相减:p1-p2
p1,p2 之间相差几个元素
6指针比较:p1<p2
前面的指针小于后面的指针

3.数组名做函数

表现形式:

1. 形参和实参都用数组名
2. 实参用数组名,形参用指针变量
3. 实参形参都用指针变量
4. 实参为指针变量,形参为数组名

4.数组指针

数组指针:指向一维数组的指针变量。
数组指针定义:假定该指针变量指向具有 N个元素的一维数组,则数组指针变量定义如下: 数据类型 ( * 数组指针变量名 )[ N ];
一维数组:
int a [ N ] = { 1 , 2 , 3 };
int ( * p )[ N ] = & a ;
二维数组:
int a [][ N ] = { 1 , 3 , 5 , 7 };
int ( * p )[ N ] = a [ 0 ]; // &a[0][0]

5.函数的传参

        值传递:一般发生在函数形参的类型为char short int long float double 这样的类型,它的传递,一般是实参将自己的值复制一份给形参,也就是实参变量和形参变量的变量空间是分开的。此时形参无法改变实参的数据。
        引用传递:一般发生在函数形参的类型为数组、指针这样的类型,它的传递,一般是实参将自己的内存首地址复制一份给形参,也就是实参变量和形参变量对应内存空间是同一个。此时形参可以改变实参的数据。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值