c语言指针含义问题?

谁能用比较详细的易懂的语言讲解一下倒数一二和四五啊... 谁能用比较详细的易懂的语言讲解一下倒数一 二 和 四 五啊 展开
 我来答
百度网友993c8f0
2020-03-03 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:124
采纳率:95%
帮助的人:14.3万
展开全部
你不明白的是具体的用法!而不是含义!
倒数第一个,是一个函数指针直接用pfi=funcname;这句就可以指向一个函数,调用函数的时候就用pfi();
上面指向函数的指针你了解了吧,函数名本身就是地址,要看它的本质。比如数组,数组的名字比如a[10]中a就是一个地址,这就是它的本质!
倒数第二个,我把它变个形(其实还是一样的):int* pfi();这样你是不是就明白了?返回值是int*,名字叫pfi的这么一个函数!他和int,char,void声明方法不都是一样的?所以希望这个你懂了,好看下面。
正着数第四个不常用,但是你一看,加了个括号,很明显指向的类型char[]数组,这个只能吧指针名字写在中间,本来你是可以看懂的!但是把指针写在中间你就可能理解错,其实指针类型就是char[]不要想太多,灵活一点!
还有第三个,这个很明显,如果没加括号,那变形(星号在空格前面还是后面都一样)----char* acp[10];那你看,类型是不是char*?那么acp就是变量名,也就是说定义了一个指针,名字叫acp,但是!!!后面有方括号10,啥意思--这是一个很平凡的数组,不过数据类型是指针而已!!

啊啊啊好累啊,回答不易.......呃我要猝死了快救我....
赏我点积分,采纳!我就可以康复了!快我快.....
最大的宝宝
2020-03-03 · TA获得超过828个赞
知道小有建树答主
回答量:1569
采纳率:67%
帮助的人:399万
展开全部
楼上的讲了指针的用法,我就说一说如何理解指针的定义。有一个标准的方法用于解读这些定义,称为“右左法则”。方法是:
首先从最里面的圆括号看起,先往右看,再往左看。每当遇到圆括号时,就掉转阅读方向。一旦解析完圆括号里面所有的东西,就跳出圆括号。重复这个过程直到整个声明解析完毕。

char *acp[10];

这个定义没有括号。从标志符acp看起,先向右看,看到[10],说明acp是一个数组。右边没有了,再向左看,是个char*,说明数组的元素是char*。
总的来说,acp是一个10元素的数组,元素类型是char*。

char (*pac)[10];
从pact向右看,遇到圆括号,向左,看到*,说明pac是一个指针。圆括号里的东西看完了,跳出来。向右看,是[10],说明pac指向一个数组。再向左看,看到char,说明数组元素是char。总的来说,pac是一个指针,指向一个10元素的数组,元素类型是char。

int *fpi();
从fpi向右看,是个(),说明fpi是一个函数。再向左看,看到int*,说明函数返回类型是int*。总的来说,fpi是一个函数,返回值是int*类型。

int (*pfi)();
从pfi向右,遇到圆括号,向左,看到*,说明pfi是一个指针。跳出圆括号,向右,看到(),说明pfi指向一个函数。再向左,看到int,说明函数返回类型是int。总的来说,pfi是一个指针(一般称为函数指针),指向一个函数,这个函数返回值是int类型。

以上定义非常简单,只要熟悉数组、数组、指针的定义格式,多看几次就熟悉了。再举一个稍为复杂的例子int (*func)(int *p, int (*f)(int*));
这个定义包含多个标识符,用上面的法则可以看出func是一个函数指针,它包含2个参数,其中参数p是一个int指针,参数f是一个函数指针。func指向的函数的返回类型是int。至于f的定义就自己来分析吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fastfs
2020-03-17 · TA获得超过1423个赞
知道大有可为答主
回答量:2659
采纳率:62%
帮助的人:789万
展开全部
int (*p)()函数指针 它的类型为返回int无参数
p可以指向int 任意名()的函数
int* p()这是函数返回int*
int (*p)[10]这是指针 指向int 任何名[大于0][10]的数组
int *p[10]这是数组 存放10个int*指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-03-03
展开全部
指针和普通的变量一模一样,没有任何一丁点的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
娱乐文风
2020-04-25 · 贡献了超过121个回答
知道答主
回答量:121
采纳率:100%
帮助的人:5.7万
展开全部

30分钟彻底学会C语言指针

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式