新手啊。。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是一个数组指针
C语言里任何复杂的定义都可以首先通过运算符优先级和结合性进行分析后,然后从内向外分析
例如,此处的int (*p)[5];
可知此处定义的是一个指针变量p,该指针的类型为 int [5],即定义了一个指向一维数组的指针变量,即p是一个数组指针
又例,有定义 int *p[5];
根据运算符优娴姐和结合性可知即
int *(p[5]);
所以此处最终定义p的本质是一个有5个元素的一维数组,然后数组的元素类型为int *,即指向int型的指针,整理下就得到结论,这里定义了一个有5个指向int型的指针元素的数组,即p是一个数组指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组指针:
例如:{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]的值
例如:{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]的值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是二维数组指针。专门指向二维数组的指针。
追问
那为啥是[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')
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void code(int n)
{
char c;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是c++吗,如果是,我可以帮到你
追问
。。。。。指针啊,大哥,c语言
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询