在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告诉我们哪里出了问题。这段代码基本上是正确的