C 矩阵的类型和逻辑正确吗?

C 矩阵的类型和逻辑正确吗?,c,matrix,strcmp,C,Matrix,Strcmp,我需要把一个4字节和下一个4字节放在一个矩阵行中。例如: verd verm azul amar bran pret空 verd verm amar azul pret空麸皮 阿马尔维德阿马尔蓝色 因此,第一个位置的策划人[0][0]返回“verd”,下一个策划人[0][5]返回“verm” int main(无效){ int i; 策划者; 智囊团=(char**)malloc(sizeof(char*); 对于(i=0;i这些线: int i; char **mastermind; mas

我需要把一个4字节和下一个4字节放在一个矩阵行中。例如:

verd verm azul amar bran pret空

verd verm amar azul pret空麸皮

阿马尔维德阿马尔蓝色

因此,第一个位置的策划人[0][0]返回“verd”,下一个策划人[0][5]返回“verm”

int main(无效){
int i;
策划者;
智囊团=(char**)malloc(sizeof(char*);
对于(i=0;i这些线:

int i;
char **mastermind;
mastermind=(char **)malloc(sizeof(char *));
for(i=0; i<7; i++)
    mastermind[i]=(char *)malloc(36*sizeof(char));

更好的方法是使用:

mastermind=malloc(sizeof(*matermind)*7);
更新

由于您知道数组的大小,因此可以使用以下方法避免使用
malloc

char mastermind[7][36];

.
malloc(sizeof(char*))
-您认为这会分配多少内存?因为您没有测试
scanf()
调用成功,这是不正确的。因为您为
智囊团的
字符*
分配了足够的空间,然后继续将其用作7个元素的数组,那么:不,这是非常不正确的。但是如果我没有使用8个指向指针的数组,我以后就无法像现在这样轻松访问这些元素。@luizmeireles:Incr将初始的
malloc()
简化为
mastermind=(char**)malloc(7*sizeof(*mastermind));
或同等格式,或者根据需要添加更多空间。
mastermind=malloc(sizeof(char *)*7);
mastermind=malloc(sizeof(*matermind)*7);
char mastermind[7][36];