C指针学习笔记


1. 普通指针
int *p
2. 数组指针:指向一维数组的指针
int (*p)[4]
当使用二维数组时,
例如int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}
int *p = a, 则*(p+11) 为12
int (*p)[4] = a, 则 *(p+1) 指向a[1][0]的首地址, *(*(p+1)+1)表示a[1][1]
当需要二维数组作为参数为数组指针传入函数时
void search(int (*p)[4], int n){}
应该使用search(a, 3)
如果二维数组作为参数为普通指针传入函数时
void average(int *p, int n){}
应该使用average(*a, 3)

3. 指针数组:一个数组,其元素均为指针,通常用在字符数组
char *p [4]
4. 指向函数的指针, 用在将函数作为参数传递的时候,参考qsort
int (*p) (int, int)
5. 返回指针的函数
int *p (int, int)
[记住:则p与[]或者()结合的优先级高于*, 所以如果*, p不用括号包含,则4 -> 5, 2 -> 3]
6. 指向指针数据的指针
int **p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值