
C++中关于指针数组的问题。
1.假设定义了一个指针数组char*p[10],那么,*p在这里指的是什么?2.定义该数组的时候,char*p[]={"hello"},为什么中括号[]内数字可以省略?谢...
1.假设定义了一个指针数组char *p[10],那么,*p在这里指的是什么?
2.定义该数组的时候,char *p[]={"hello"},为什么中括号[]内数字可以省略?
谢谢大神! 展开
2.定义该数组的时候,char *p[]={"hello"},为什么中括号[]内数字可以省略?
谢谢大神! 展开
2个回答
展开全部
举个例子:
int x=20,y=10,*a[2];
a[0]=&x,a[1]=&y;
printf("x=%d y=%d\n",*a[0],*a[1]);
就会输出x=20 y=10
------------------
1)*a即a[0],在上例中也就是x的地址。
2)中括号[]内数字可以由编译系统自动测定初始化了几个元素,
char *p[]={"hello"}; 就相当于char *p[1]={"hello"};
char *q[]={"hello","world"}; 就相当于char *q[2]={"hello","world"};
int x=20,y=10,*a[2];
a[0]=&x,a[1]=&y;
printf("x=%d y=%d\n",*a[0],*a[1]);
就会输出x=20 y=10
------------------
1)*a即a[0],在上例中也就是x的地址。
2)中括号[]内数字可以由编译系统自动测定初始化了几个元素,
char *p[]={"hello"}; 就相当于char *p[1]={"hello"};
char *q[]={"hello","world"}; 就相当于char *q[2]={"hello","world"};
更多追问追答
追问
char *p[]={"hello"}; 就相当于char *p[1]={"hello"};
【为什么不是相当于*p[6]?
您的意思是这里的一个数组元素代表一个字符串吗?】
char *p[]={"hello","world"}
那这里的*p+1和*(p+1)一样吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询