c - char[n][100]是什么意思?

标签 c

我的教授给了我一个 C 文件,但我不太理解它。 这是一个从文本文件读取的程序。

#include <stdio.h>
main(){
    int n,m;
    char start[30],end[30];
    FILE *a;
    a=fopen("test.txt","r");
    fscanf(a,"%s",&start);
    fscanf(a,"%s",&end);
    fscanf(a,"%d",&m);
    fscanf(a,"%d",&n);
    printf("\n%s\n%s\n%d\n%d",start,end,m,n);
    char word[n][30];
    int i=0;
    while(!feof(a)){
        fscanf(a,"%s",&word[i]);
        i++;

    }

    for(i=0;i<n;i++)
        printf("\n%s",word[i]);
    fclose (a);

}

这是文本文件:

blah alooa
7 4
hey
boom
stackoverflow
testing

所以,我想知道这个 char word[n][30] 是什么意思?为什么它有[n]

最佳答案

So, I'm wondering what does this char word[n][30] mean?

从技术上讲,它是字符的二维 VLA。在此程序中,它用于存储“n”个单词,其中每个单词的最大长度为 30 个字符。

why does it have [n]?

它是一个变量,用于存储文件中的单词数。

查看您的程序,您可能必须输入 8 作为 n 的值。

关于c - char[n][100]是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54940191/

相关文章:

c - 新动态内存 "first time"

无法使用 gcc 编译 ANSI C 代码

c - 如何解析两个同名的结构体?

c - 当我将变量传递给函数时,变量的值会发生变化

c - 使用 libpcap 测量上传/下载速率

c - 如何在断点上运行 gdb 中的程序函数?

在GTK3(C语言)中按下时更改切换按钮的背景颜色

c - 在c中用相同的数字初始化数组会导致不同的值

关于无符号和整数表达式的混淆

c - (u)intN_t 总是与 N 位对齐?