C语言指针的内容

但在指针的内容里面,还有一个知识点叫做:指针指向对象的类型。比如,在int  *a中,指针指向对象的指针类型是int。它描述了指针指向的那个对象的类型。那么我举一个比较难的例子。int  (*a)[10]中,变量名是什么?变量的类型是什么?指针指向对象的类型又是什么?按照上面我说的那个方法,变量名是a,变量的类型是除了变量名之外的内容,就是int  (*)[10],那指针指向对象的类型是什么嘞?是int [10]。这里也有一个规律,那就是除了*变量名之外的的内容,就是指向对象的类型。

而在赋值的时候,比如:int a=10; int  *b;我们是不能这样赋值的:b=a;这样是完全错误的,a是一个数值,而b是一个指针,指针指向一个地址,我们不能把值10赋给一个地址。因此我们如果要赋值只能这样做:b=&a。把a取地址就可以赋值给指针了。

同时,在赋值的时候还有一个非常重要的知识点。比如,int  *a;char b;我们这时候不能这样赋值:a=&b;因为他们的类型不匹配,只有当b的类型是int型时,才能取地址赋给相同类型的指针a。

平时我们会经常看到一个高大上的说法:比如指针变量a指向了b变量。其实这句话的涵义就是指针变量a存储了变量b的地址。即指针变量指向谁,就存储了谁的地址。这样就好理解很多了吧。

相信通过这次举的一些例子,大家对这几个知识点有个比较清晰的认识了,以后遇到这类问题,不要看错了哦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值