Ich fand diesen Beispielcode und ich versuchte zu googlen, was (int (*)[])var1
für stehen könnte, aber ich habe keine brauchbaren Ergebnisse.Was bedeutet (int (*) []) var1?
#include <unistd.h>
#include <stdlib.h>
int i(int n,int m,int var1[n][m]) {
return var1[0][0];
}
int example() {
int *var1 = malloc(100);
return i(10,10,(int (*)[])var1);
}
Normalerweise arbeite ich mit VLAs in C99 so bin ich früher:
#include <unistd.h>
#include <stdlib.h>
int i(int n,int m,int var1[n][m]) {
return var1[0][0];
}
int example() {
int var1[10][10];
return i(10,10,var1);
}
Dank!
große Referenzseite! – xtofl
Ich würde vorschlagen, das 'cdecl'-Tool, schön, ein Web-Front-End dafür zu sehen :) – crazyscot
Ich bin verwirrt - es gibt keinen solchen Typ wie" Array von int ". Array-Typen müssen eine Größe haben, auch wenn sie variabel ist. Ist dieser Typ in der Besetzung wirklich gültig? Wenn ja, was bedeutet das? Was ist 'sizeof * (int (*) []) 0'? –