Warnung "incompatible pointer type"

Moderator Persönliche Seite #2389954
Lesenswert?

Jeder C-Programmierer, der das Zeigerkonzept erstmal verstanden
hat, wird aber einfach nur "Buffer" schreiben statt dieser
unsäglichen Verrenkungen. ;-)  Es dauert auch nicht lange, da kann
man diese Schreibweise dann deutlich besser lesen.  Da schreibt man
dann auch "Buffer + 2", wenn man einen Zeiger auf das zweite
Element von Buffer weitergeben will, statt irgendwelcher krückiger
"&Buffer[2]". :)

Das Kapitel "Pointer and Arrays" hat eine relativ zentrale Bedeutung
im Verständnis und der Beherrschung der Sprache C.  Es sei jedem
angeraten, die Details verstanden zu haben, statt das jedesmal per
trial&error zu implementieren.
Gast #2389976
Lesenswert?

> Das Kapitel "Pointer and Arrays" hat eine relativ zentrale Bedeutung

Deshalb C Buch besorgt :-)


Buffer+1 wäre meine nächste Frage gewesen.
1
itoa(tmp,Buffer+1,10);
Ist das erlaubt wenn man das erste Zeichen wegschneiden möchte?

Vielen Dank
Gast #2390330
Lesenswert?

Also meiner Meinung nach, lässt sich die "Verrenkung" besser lesen.
Aber das dürfte von den Gewohnheiten des jeweiligen Programmierers 
abhängen.

Wenn "&(Buffer[2])" da steht, dann lese ich das als "Adresse des 
Elements mit Index 2" von dem Array.
Der Compiler mach natürlich intern auch nur ein "Buffer+2" und
Buffer ist ja auch "nur" ein Zeiger auf das erste Element des
Arrays.

Aber wie schon gesagt, das ist Geschmackssache...

@Jörg
>>dann auch "Buffer + 2", wenn man einen Zeiger auf das zweite
Ist das nicht das 3. Element?

(Index[0] = 1. Element, Index[1] = 2. Element und Index[2] = 3. Element)

Genau deswegen schreibe ich das als Index. (auch wenn es eine Verrenkung 
ist)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren