c语言关于指针数组的问题?

#include<stdio.h>intmain(void){inti;inta=10;//0xff00intb=20;//0xff04intc=30;//0xff08/... #include <stdio.h> int main(void) { int i; int a=10;//0xff00 int b=20;//0xff04 int c=30;//0xff08 //指针数组 指针类型的数组 int* arr[3]={&a,&b,&c};//arr[0]->0xff00 //指针数组存储指针变量 *arr[2]=123; for(i=0;i<3;i++) { printf("%d\n",*arr[i]); } return 0; } 问为什么不可以定义int* arr[2]={&a,&b,&c},这样会出错,难道不是a[0] a[1] a[2],依次取abc的地址吗 展开
 我来答
市锐象雁荷
2019-07-27 · TA获得超过3959个赞
知道小有建树答主
回答量:3158
采纳率:27%
帮助的人:220万
展开全部
你的这个与指针没有关系,是C语言最基础的内容,只与数组有关
你若定义
int*
arr[2];
那么,arr只能用arr[0],arr[1],它不能用arr[2]的
这个2的意思,表示arr有两个元素,而不是最大下标为2
对所有数组,C定义的下标不是最大下标,而是元素个数,最大下标要减一的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式