我刚看到一个带有以下签名的函数:
bool insert( Node** root, int (*M)[COL], int row, int col )
在这种情况下COL会做什么?
答案 0 :(得分:2)
这是数组大小。 COL在代码中的某处是#defined ...假设COL定义为5,你应该提供一个指向5个整数数组的指针。任何其他维度都会导致编译器错误。
例如。
#define COL 5
...
..
..
bool insert( Node** root, int (*M)[COL], int row, int col ) {
..
return 1;
}
...
和用法(在这种情况下):
int test[5] = {0};
...
insert(&node, &test, 0, 0);
将编译并:
int test[10] = {0};
...
insert(&node, &test, 0, 0);
不会编译......