有个结构上的问题
写VB写久了有点疑惑,不知道C是否可以这样做?我要创个结构阵列,第一层预设4个,第二层要动态增加,
那每个第一层对上第二层的数量,是否可以皆不相同?
简单讲我要将一个档案依规则拆成四个档案
类似 :
A[0][10]
A[1][20]
A[2][30]
A[3][40]
程序代码:
#include <stdlib.h> #include <stdio.h> struct Log { int Line; char *ErrorLog; }; int main(int argc, char* argv[]) { int i=0,j=0; struct Log **A = (struct Log**)malloc(4*sizeof(struct Log*)); for(i=0;i<4;i++) { A[i]=(struct Log*)malloc(10*sizeof(struct Log));//这里要动态增加 (因为是针对每个i增加j,所以想是不是可以不一样?) for(j=0;j<10;j++) { A[i][j].ErrorLog =""; A[i][j].Line =0; } } free(A); return 0; }
因为VB好像第二维必须固定长度,第一维才能动态增加,脑袋有点转不过来