Wie können Sie ein zweidimensionales Array in C umwandeln?

8

Mein Gehirn ist erst vor kurzem sehr unscharf geworden und ich kann mich nicht für das Leben von mir erinnern, warum der folgende C-Code:

%Vor%

Erzeugt die folgende Warnung:

%Vor%

Könnte jemand bitte das für mich erklären.

Danke.

    
stretchkiwi 17.01.2011, 08:07
quelle

5 Antworten

10
%Vor%

Dies deklariert b als Zeiger auf Char-Arrays der Größe 3. Beachten Sie, dass dies nicht das gleiche ist wie char *b[3] , was b als ein Array von 3 Char-Zeigern deklariert.

Beachten Sie auch, dass char *b = a falsch ist und immer noch dieselbe Warnung wie char **b = a ausgibt.

    
sepp2k 17.01.2011, 08:23
quelle
1

Probieren Sie das aus,

%Vor%

Da ein Array von Zeichen Arrays ist, müssen Sie diese als Zeichen initialisieren.

    
cpx 17.01.2011 08:22
quelle
0

Das Problem ist, dass ** nicht statisch zugewiesen ist.

Sie können diese einfache Version mit folgendem erreichen:

%Vor%     
regality 17.01.2011 08:19
quelle
0

Das ist richtig. a ist ein Zeiger.

char *b definiert einen Zeiger auf char.

char **b definiert einen Zeiger auf den Zeiger auf char.

    
NoviceCai 17.01.2011 08:18
quelle
-1

a ist immer noch ein Zeiger auf ein char:

%Vor%     
OJ. 17.01.2011 08:10
quelle

Tags und Links