本帖最后由 circle19851127 于 2009-07-15 23:12:02 编辑

解决方案 »

  1.   

    struct **,这种表示是指向指针的指针,有两种理解:
    1、如楼主所理解,是指向结构体数组的指针,也可以说是结构体二维数组。
    2、是一个结构体指针数组。也就是说这个数组的元素是指向结构体的指针。由于二维数组的第二维是要必需给出的,所以第1种理解不正确。你想啊,如果struct**是指向数组的指针,那数组是多大呢?如果这个对数是p,那么p+1应该移到什么地方?而理解为第二种情况就没有问题了,结构体指针的大小是确定的(指针就是一个地址,所以其占内存的大小和指针指向的数据类型无关),p+1就是下一个指针的存贮单元,这样这个struct**才有意义。所以struct**应该理解为结构体指针数组。也就是说,p[i]里存放的是一个指向某个结构体的指针。