小编el1*_*l11的帖子

交替1和-1元素的矩阵 - MATLAB

我想知道如何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.

matlab matrix

4
推荐指数
1
解决办法
1615
查看次数

C语言中字符串数组的动态分配

对于家庭工作,我需要定义一个将内存分配给字符串数组的函数(它是一个结构体).

给出每个字符串的长度: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];

  • 函数声明也给出了:
    void createDict(struct dict*myDict);

这是我写的,但我不确定它是否有效,而且我很难在编译器中检查它.我也是基于这个和其他网站的帖子写的,并不是真的理解它:

选项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)

请向我解释......

c arrays string malloc pointers

1
推荐指数
1
解决办法
3193
查看次数

标签 统计

arrays ×1

c ×1

malloc ×1

matlab ×1

matrix ×1

pointers ×1

string ×1