c语言:int (*a)[4]a指向一个一维数组,那该怎么访问数组里面的元素呢

求解

(*a)[0],(*a)[1],(*a)[2],(*a)[3]

//声明和用法相似的坏处是声明极其复杂,并且可能把声明和使用弄混(比如int a[1];就不能访问a[1],void fun(int a);就不能用fun(int a)这样,造成很多迷惑),但是能从声明中看出大概的用法……追问

那为什么(*a)[1]=1;不行啊

追答

运行时报错么

追问

说什么应用程序执行错误,好像不是编译错误

追答

我以为你知道a是指针的……没初始化的时候指针不能解引用,这大概是常识……

追问

那int (*a)[4]="123";可以吗

追答

字符串大概跟int有半毛钱关系?

追问

char (*a)[4]="123";这个呢

追答

"123"的类型是char[4},所以还是类型不兼容……

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-04
(*a)[1]=1,运行时会出错是因为(*a)[1]不是合法空间,(*a)[1]就相当于a[0][1]追问

那该怎么访问

相似回答