在C中浏览数组

在C中浏览数组,c,arrays,pointers,malloc,C,Arrays,Pointers,Malloc,你好,我有这个阵列,我似乎忘记了如何导航通过它 Line* line = (Line*) malloc(sizeof(Line)*line_count); for (int i = 0; i <line_count; i++){ (line + i) ->blocks = make_blocks(block_count); (line + i) ->block_count = block_count; Line*Line=(Line*)malloc(sizeof(Line)*

你好,我有这个阵列,我似乎忘记了如何导航通过它

Line* line = (Line*) malloc(sizeof(Line)*line_count);
for (int i = 0; i <line_count; i++){
(line + i) ->blocks = make_blocks(block_count);
(line + i) ->block_count = block_count;
Line*Line=(Line*)malloc(sizeof(Line)*Line\u计数);
for(int i=0;i块=生成块(块计数);
(行+i)->块计数=块计数;
}

逻辑:

行是指向这个连续内存块开始的指针 将线指针调整1(线的大小)并为其创建块 指定特定行并设置块计数

上述(第+i行)不起作用 我尝试了第[I]行(第+I行)*&第[I]行 但还是什么都没有

谁能给我指一下灯吗?我坐的地方真黑


谢谢

指针的类型是Line。你不能像那样指向块


为此,您需要有一个指向类型块的指针数组(如果这是您创建的类型/结构)。

使用
行[i]更为正常。块
,但
(行+i)->块
应该可以工作。也许还有什么地方不对劲?您应该确切地告诉我们“不工作”(行+i)的意思Doeswork thank you@paddygive告诉我们哪里出了问题。这段代码基本上是正确的