Was bedeutet (int (*) []) var1?

8

Ich habe diesen Beispielcode gefunden und versucht zu googlen, wofür (int (*)[])var1 stehen könnte, aber ich habe keine brauchbaren Ergebnisse erhalten.

%Vor%

Normalerweise arbeite ich mit VLAs in C99, also bin ich gewohnt:

%Vor%

Danke!

    
Framester 04.06.2010, 09:45
quelle

3 Antworten

11

Es bedeutet " var1 in Zeiger auf Array von int ".

    
Michael Madsen 04.06.2010, 09:50
quelle
1

Es ist eine Typumwandlung in einen Zeiger, der auf ein Array von int. zeigt.

    
Curd 04.06.2010 09:52
quelle
0

(int (*)[]) ist ein Zeiger auf ein Array von int s. Entspricht dem Argument int[n][m] function.

Dies ist ein gängiges Idiom in C: Zuerst macoc Speicher reservieren und dann auf den gewünschten Typ umwandeln.

    
xtofl 04.06.2010 09:51
quelle