一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 3146|回复: 18
收起左侧

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

[复制链接]
发表于 2014-10-24 13:05 | 显示全部楼层 |阅读模式
第一个: @# s/ }* C* a/ |
int(*(*func)[5])(int *p)
% x( |9 l. n8 i定义了一个函数指针数组,这个指针指向有5个函数指针的数组,这个函数的参数为int * p,返回值为int类型的
2 w# h! g- q  f" K第二个  K" y, @5 B8 e* a" w. d, o0 R
int(*(*func)(int *p))[5]5 @% Z* A. h9 }+ N% ?# h
定义一个函数指针func,指向的函数为:参数类型为int *p,返回值为5个元素大小的整形数组
 楼主| 发表于 2014-10-24 13:07 | 显示全部楼层
int (*func)(int *p);* Z1 ^9 K, d/ D( C' `) q
. R' c* I1 K- ]9 }" ^/ {( M
  首先找到变量名func,外面有一对圆括号,而且左边是一个*号,这说明func是一个指针;然后跳出这个圆括号,先看右边,又遇到圆括号,这说明(*func)是一个函数,所以func是一个指向这类函数的指针,即函数指针,这类函数具有int*类型的形参,返回值类型是int。% c5 {' }$ l: u4 e

/ f6 Z' ?/ ^3 i4 g" n6 Z" @  int (*func[5])(int *);2 y$ g" T2 S& r2 ]. y, O1 V! _3 }

3 l; s, k. e6 e6 F# l+ i  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 | 显示全部楼层
没用过这种方式,只有你用过是吧。
5 |& m- ?: k0 r* E  U没用过就没用过,好多人也是一样,没什么白痴不白痴的。
发表于 2014-10-24 14:17 | 显示全部楼层
老实讲,看不懂。虽然听说指针是C的精华,但我几乎没用过,没做过什么高级的东西。不过看不懂就说人家白痴,我觉得过了,4楼的,把你的本事露一露啊?
 楼主| 发表于 2014-10-24 14:29 | 显示全部楼层
hysy 发表于 2014-10-24 13:33
/ y' W8 a, I9 ~# K( z比较基础的指针应用了,搞过linux的一眼都看的明白。这个都不会应用应该说是程序白痴吧
1 w; d: n6 A6 ?' e# K- S" s% I6 M7 U2 P
很多人都是不谦虚的,懂一点就看不起别人,你也是经历这个阶段的。
1 @) H, i5 }8 k/ [1 `: ]. k我查看了一下你也没什么有用的东西发上来。
7 p+ Y6 u9 F4 F# d* I1 U. c2 S% a5 l, g
" k# h& b4 O1 N& J" r# n( g( `1 V
发表于 2014-10-24 15:12 来自手机 | 显示全部楼层
记得老师讲过,这些指向某类型函数的指针变量跟数组一起使用会很好用。好像能用于“一个按钮有多种功能”这类型情况。来自: iPhone客户端
发表于 2014-10-24 15:24 | 显示全部楼层
指针用的好,写程序跟简单方便。支持楼主分享,总是有个不会到会,不知道到知道的过程。
发表于 2014-10-24 16:26 | 显示全部楼层
头疼指针,只会用最简单的,还好不是职业编程,玩玩还是足够了

本版积分规则

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

GMT+8, 2024-5-18 11:28 , Processed in 0.059024 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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