当前位置: 代码迷 >> C语言 >> 关于数组类型的讨论
  详细解决方案

关于数组类型的讨论

热度:112   发布时间:2008-05-09 21:31:32.0
关于数组类型的讨论
对于下面帖子10#翅膀兄弟的论述,我做了一个实验:
http://bbs.bccn.net/thread-213259-1-1

实验结论:运算符[]和指针*等价。
要指向一个N维数组,就要定义一个指向N-1维的数组的指针(当然不是绝对,这里限定指针的移动是一维的)
示例见代码:
#include "stdio.h"

int main()
{
    char a[2][3][4];
    char (*pa)[3][4];    //要指向三维数组,要定义指向二维数组的指针来指向
    char b[3][4];
    char (*pb)[4];       //要指向二维数组,要定义指向一维数组的指针来指向
    char c[4];
    char (*pc);         //要指向一维数组,要定义普通指针来指向
    pa = a;             //这里的三个赋值语句,都编译通过,没有类型不匹配的报错
    pb = b;
    pc = c;            //左边:char * 右边:char[]
    return 0;
}

由此可以看出,char * 和 char[]的类型是匹配的。
这个想法刚刚产生,欢迎一起讨论,寻找内涵。
搜索更多相关的解决方案: char  三维  指针  类型  定义  

----------------解决方案--------------------------------------------------------

学的都是一维的,
所以支持!
----------------解决方案--------------------------------------------------------
小李同学,灌水去水区,我无聊时常去那里,
小心再被封了
本帖最近评分记录
  • liyanhong +3 边灌边学 潜移默化 2008-5-9 23:20

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-05-09 15:18:05
c_acceleration

等 级:新手上路
帖 子:101
专家分:0
注 册:2008-4-28
  得分:0 
实验结论:运算符[]和指针*等价
怎么能说等价,优先级就不同。。。
----------------解决方案--------------------------------------------------------
回复 3# 的帖子
到处给人加铜版

----------------解决方案--------------------------------------------------------

无语了...
----------------解决方案--------------------------------------------------------
请问水区在哪,我想去
----------------解决方案--------------------------------------------------------
这样引用指针都没问题的  最好格式一样不容易乱 顶了
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]liyanhong[/un] 在 2008-5-9 23:35 的发言:[/bo]

我没用的东西我干吗要留着呢
估计对他们有用

大赞!!!!!

[color=white]
----------------解决方案--------------------------------------------------------
回复 11# 的帖子
我原来明白了
会说好话的人
也能成为一种职业的原因
----------------解决方案--------------------------------------------------------
  相关解决方案