读书人

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

发布时间: 2013-03-25 15:43:04 作者: rapoo

关于二维数组做形参的问题
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

读书人网 >C语言

热点推荐