首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于二维数组做形参的有关问题

2013-03-25 
关于二维数组做形参的问题typedef struct Node {int state[3][3]} *Enodeint isEqual( int sState[][3],

关于二维数组做形参的问题
typedef struct Node {
  int state[3][3];
} *Enode;
int isEqual( int sState[][3], int cState[][3] )
{
......
}

void main()
{
  Enode node;
  int state[3][3];

  //初始化state[][],node.state;

  isEqual( state, node.state );

}

问题:
调试时发现isEqual函数的cState形参无法接到主函数传过来的node.state的值。为什么?问题在哪儿?
[解决办法]
Enode node; node是个指针,应该是node->state,不是node.state。
[解决办法]
这代码根本编译就不过, node是指针变量,怎么能使用node.state???
[解决办法]
楼主看清楚了,你typedef的是一个指针类型,所以你声明出来的是指针,指针访问成员变量是用的->号,不是.
[解决办法]
使用node->state

热点排行