C语言提高-第23/24/25讲: 指针的运算/数组名作为函数参数/指针作函数参数(一维数组Vs指针)

知识点总结:


指针的运算:

       指针直接操纵内存

       两个指针相减,它们之间分隔几个单元;两指针变量相加没有意义   

       指向同一个数组的两个指针可以比较

       定义p是指向函数的指针,正如数组名是指向数组首元素的地址,

       函数名是该函数指向程序区所占用空间的起始地址
      



数组名作为函数参数:

       用数组名作函数参数,此时实参与形参都用数组名  
       为形参分配空间,传递数组地址(共用同一段内存),而不是为其再建数组  
       故:
       在函数中,参数为数组时,对形式参数数组值的改变,影响到实际参数数组的值



指针作函数参数:

       

        冒泡排序函数的新写法:

       

        形参中的arr[]并不是一个纯正的数组,否则arr+;是不被允许的:

           

       

       


一维数组 Vs 指针:

区别:
数组对应着一块内存区域,而指针是指向一块内存区域。
数组一旦定义好,数组地址a及数组容量不会改变,只有内容可以改变;
指针可以指向不同的内存区域,当指向常量字符串时(char *a="hello";),不能修改其内容

联系:
数组名即数组首元素的地址(固定),可以将数组名赋值给同类型的指针变量;
一维数组作为参数传递是以地址传递的,也就是一个指针,值可以被修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值