新手啊。。c语言指针啊。。。。。 为何这样定义指针啊??

 我来答
匿名用户
2015-08-01
展开全部
定义了一个数组指针
C语言里任何复杂的定义都可以首先通过运算符优先级和结合性进行分析后,然后从内向外分析
例如,此处的int (*p)[5];
可知此处定义的是一个指针变量p,该指针的类型为 int [5],即定义了一个指向一维数组的指针变量,即p是一个数组指针

又例,有定义 int *p[5];
根据运算符优娴姐和结合性可知即
int *(p[5]);
所以此处最终定义p的本质是一个有5个元素的一维数组,然后数组的元素类型为int *,即指向int型的指针,整理下就得到结论,这里定义了一个有5个指向int型的指针元素的数组,即p是一个数组指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
readread读
2015-08-01
知道答主
回答量:25
采纳率:0%
帮助的人:11.6万
展开全部
数组指针:
例如:{int a[4][5];int (*p)[5]=a;}这里a是个二维数组的数组名,相当于一个二级指针常量;
p是一个指针变量,它指向包含5个int元素的一维数组,此时p的增量以它所指向的一维数组长度为单位;
*p+i是二维数组a[0][i]的地址;
*(p+2)+3表示a[2][3]地址(第一行为0行,第一列为0列),*(*(p+2)+3)表示a[2][3]的值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2015-08-01 · TA获得超过104个赞
知道小有建树答主
回答量:508
采纳率:50%
帮助的人:206万
展开全部
这是二维数组指针。专门指向二维数组的指针。
追问
那为啥是[5]而不是[3]呢???
追答
5代表一行里有5个元素。3是行,5是列
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-08-01
展开全部
<bean id="abstractCollectionBean" abstract="true">
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void code(int n)
{
char c;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DMO部落冲突
2015-08-01 · 超过26用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:30.8万
展开全部
这是c++吗,如果是,我可以帮到你
追问
。。。。。指针啊,大哥,c语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式