我想知道如何n x n按照以下顺序创建矩阵,例如
n=3;
1 -1 1
-1 1 -1
1 -1 1
n=4;
1 -1 1 -1
-1 1 -1 1
1 -1 1 -1
-1 1 -1 1
Run Code Online (Sandbox Code Playgroud)
每个号码n.
对于家庭工作,我需要定义一个将内存分配给字符串数组的函数(它是一个结构体).
给出每个字符串的长度:MAX_WORD_LEN + 1(= 10 + 1)我必须为len字符串数分配内存,len在输入中收到.
带有字符串数组的struct(给定):
struct dict{
int len;
char (*dict0)[MAX_WORD_LEN+1];
char (*dict1)[MAX_WORD_LEN+1];
};
Run Code Online (Sandbox Code Playgroud)
我不明白这个宣言 char (*dict0)[MAX_WORD_LEN+1];
这是我写的,但我不确定它是否有效,而且我很难在编译器中检查它.我也是基于这个和其他网站的帖子写的,并不是真的理解它:
选项1:
void createDict(struct dict* myDict)
{
myDict->(*dict0) = malloc( (myDict->len)*sizeof(char*));
myDict->(*dict1) = (char**) malloc( (myDict->len)*sizeof(char*));
for(int i=0;i<(myDict->len);i++)
{
(myDict->(*dict0)[i]) = (char*)malloc((MAX_WORD_LEN+1)*sizeof(char));
(myDict->(*dict0)[i]) = (char*)malloc((MAX_WORD_LEN+1)*sizeof(char));
}
}
Run Code Online (Sandbox Code Playgroud)
方案2:
(myDict->(*dict0)[MAX_WORD_LEN+1]) = malloc((myDict->len) * sizeof(char*));
(myDict->(*dict1)[MAX_WORD_LEN+1]) = malloc((myDict->len) * sizeof(char*));
Run Code Online (Sandbox Code Playgroud)
请向我解释......