一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 4992|回复: 18

C语言指针少见的几种表达式

[复制链接]
发表于 2014-10-24 13:05 | 显示全部楼层 |阅读模式
第一个
& w) k! `2 r; s& b/ [+ X; Tint(*(*func)[5])(int *p)- |; K: B7 ~( ?/ O7 J
定义了一个函数指针数组,这个指针指向有5个函数指针的数组,这个函数的参数为int * p,返回值为int类型的
0 Z( C7 R; @' |2 C" @第二个
) ^* ?8 e/ a: S8 ^5 @0 dint(*(*func)(int *p))[5]- Z# o0 l3 L, y! y* _2 E; p, L
定义一个函数指针func,指向的函数为:参数类型为int *p,返回值为5个元素大小的整形数组
 楼主| 发表于 2014-10-24 13:07 | 显示全部楼层
int (*func)(int *p);, w2 Q0 e$ R4 }4 ~/ o  f+ c

8 h1 Z1 z5 e$ D0 N; ~1 N& a  首先找到变量名func,外面有一对圆括号,而且左边是一个*号,这说明func是一个指针;然后跳出这个圆括号,先看右边,又遇到圆括号,这说明(*func)是一个函数,所以func是一个指向这类函数的指针,即函数指针,这类函数具有int*类型的形参,返回值类型是int。% y' V2 A. v2 E# l" _
8 u2 y/ {: K1 M( _" A# g
  int (*func[5])(int *);
* N- D1 x8 J, g4 J4 t# w+ L  P4 v( V: j, N
  func右边是一个[]运算符,说明func是具有5个元素的数组;func的左边有一个*,说明func的元素是指针(注意这里的*不是修饰 func,而是修饰func[5]的,原因是[]运算符优先级比*高,func先跟[]结合)。跳出这个括号,看右边,又遇到圆括号,说明func数组的元素是函数类型的指针,它指向的函数具有int*类型的形参,返回值类型为int。值类型为int。
回复

使用道具 举报

 楼主| 发表于 2014-10-24 13:20 | 显示全部楼层
这些指针请问有多少人看不懂的,我是其中一个。
回复

使用道具 举报

发表于 2014-10-24 13:33 | 显示全部楼层
比较基础的指针应用了,搞过linux的一眼都看的明白。这个都不会应用应该说是程序白痴吧

点评

这么说就不好了,如果不能像比尔盖茨那样编个dos环境出来,岂不是【白吃】  发表于 2014-10-24 17:09
回复

使用道具 举报

 楼主| 发表于 2014-10-24 14:11 | 显示全部楼层
没用过这种方式,只有你用过是吧。
6 x; `1 F; f) O3 `& g8 A2 O没用过就没用过,好多人也是一样,没什么白痴不白痴的。
回复

使用道具 举报

发表于 2014-10-24 14:17 | 显示全部楼层
老实讲,看不懂。虽然听说指针是C的精华,但我几乎没用过,没做过什么高级的东西。不过看不懂就说人家白痴,我觉得过了,4楼的,把你的本事露一露啊?
回复

使用道具 举报

 楼主| 发表于 2014-10-24 14:29 | 显示全部楼层
hysy 发表于 2014-10-24 13:33& m+ f9 c; W6 X, Z# r7 u& d2 P
比较基础的指针应用了,搞过linux的一眼都看的明白。这个都不会应用应该说是程序白痴吧
: P0 y; U  b" ~: C9 J! n/ \
很多人都是不谦虚的,懂一点就看不起别人,你也是经历这个阶段的。
9 K" _7 Z9 L! V* ^5 a9 o# Q我查看了一下你也没什么有用的东西发上来。& M. j6 z' W/ ?' f# E( Q

4 F2 s! Y4 M$ w! b, ?( c
回复

使用道具 举报

发表于 2014-10-24 15:12 来自手机 | 显示全部楼层
记得老师讲过,这些指向某类型函数的指针变量跟数组一起使用会很好用。好像能用于“一个按钮有多种功能”这类型情况。
回复

使用道具 举报

发表于 2014-10-24 15:24 | 显示全部楼层
指针用的好,写程序跟简单方便。支持楼主分享,总是有个不会到会,不知道到知道的过程。
回复

使用道具 举报

发表于 2014-10-24 16:26 | 显示全部楼层
头疼指针,只会用最简单的,还好不是职业编程,玩玩还是足够了
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-28 00:53 , Processed in 0.034403 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表