Ist die Formatierung eines mehrdimensionalen Arrays durch einen Zeiger auf einen unvollständigen Array-Typ in C erlaubt?

8

Betrachten Sie folgende Deklaration:

%Vor%

Wäre es legal, es so zu behandeln, wie es erklärt wurde:

%Vor%

oder sogar:

%Vor%

in C ohne seine Regeln (schlecht) zu brechen?

Ich habe festgestellt, dass es ohne jegliche Besetzung möglich ist:

%Vor%

Beachten Sie, dass wir a nicht direkt auf p1 -Zeiger zuweisen können. Der Compiler beschwert sich jedoch nicht, wenn p2 mit ptr_temp zugewiesen ist, auch wenn er potentiell gefährlich ist (dafür ist kein Cast erforderlich). Ist es wirklich gesäubert? Wenn ja, warum verbietet es dann die erste Zuweisung?

    
Grzegorz Szpetkowski 15.07.2015, 23:40
quelle

1 Antwort

1

Das Verhalten, das Sie sehen, liegt an der Art und Weise, wie mehrdimensionale Arrays in C behandelt werden.

Sehen Sie sich diese Frage Zeigeradresse in einem mehrdimensionalen C-Array an

    
Cobusve 16.07.2015 08:57
quelle

Tags und Links