C语言中可以定义一个第一列是int 型而行是结构体的二位数组吗解决方案
C语言中可以定义一个第一列是int 型而行是结构体的二位数组吗
同上
------解决方案--------------------
不能的。你只能定义成一个结构的二维数组,然后用程序控制下标来判断。
struct node
{
int i;
char* yourData1;
char* yourData2;
}
然后,对于每行的第一列:
node.i = 1;// i 是递增的。相当于行号了
node.yourData1 = NULL;
node.yourData2 = NULL;
其余列
node.i = -1;
node.yourData1 = 'a ';
node.yourData2 = 'b ';
-------------------------------------
不知这样可否?
------解决方案--------------------
数组元素必须都是同类的
但你可以通过结构体来定义
------解决方案--------------------
用指针,然后强制类型转换。不过楼主要小心内存分配问题
同上
------解决方案--------------------
不能的。你只能定义成一个结构的二维数组,然后用程序控制下标来判断。
struct node
{
int i;
char* yourData1;
char* yourData2;
}
然后,对于每行的第一列:
node.i = 1;// i 是递增的。相当于行号了
node.yourData1 = NULL;
node.yourData2 = NULL;
其余列
node.i = -1;
node.yourData1 = 'a ';
node.yourData2 = 'b ';
-------------------------------------
不知这样可否?
------解决方案--------------------
数组元素必须都是同类的
但你可以通过结构体来定义
------解决方案--------------------
用指针,然后强制类型转换。不过楼主要小心内存分配问题