c语言指针

(1)指针的含义

指针就是地址,凡是出现指针的地方,都可以用地址代替。变量的指针就是变量的地址,指针变量就是地址变量。 要区别指针和指针变量。指针就是地址本身,而指针变量是用来存放地址的变量。

(2)指向

地址就意味着指向,通过地址能找到具有该地址的对象。只有与指针变量的基类型相同的数据的地址才能存放在相应的指针变量中。
int a;
int *p;
p = &a;    //合法
p = &b;       //不合法,b是float型与指针的类型不匹配

(3)在对数组的操作中使用指针

int *p;
int a[10];
p = a;

p是指向int型类型的指针变量,所以,p只能指向数组中的元素而不是指向整个数组。 对于p=a,准去的说是:p指向a数组的首元素。

(4)归纳比较

变量含义
int *p;定义p为指向整形数据的指针变量
int a[10];定义整形数组a,有10个元素
int *p[4];定义指针数组p;它由4个指向整形数据的指针元素组成
int (*p)[4];定义指针包含4个元素的一维数组的指针变量
int f();f为返回整形函数值的函数
int *p();p为返回一个指针的函数,该指针指向整形数据。
int (*p)();p为指向函数的指针,该函数返回一个整形值
  
  
  



以后有其他感悟,再更新。指针是个好东西,可以利用它编写出颇有特色,质量好,效率高的优良程序。


 一般而言,可以把变量相关的两类信息传递给函数。
func(x)如果这种形式的函数调用,那么传递的是x的值。
如果用func2(&x)这种形式的函数调用,那么传递的是x的地址。
第一种形式要求函数定义中的形式参数必须是一个与x的类型相同的变量:int func(int num)。
第二种形式要求函数定义中的形式参数必须是一个指向正确类型的指针:int func2(int *ptr)。 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值