Seite 1 von 1
					
				Pointer inkrementierung
				Verfasst: Do Aug 13, 2009 3:46 pm
				von cloidnerux
				Ich habe jezt mal eine etwas banale Frage:
Wenn ich einen Pointer auf uint32 habe, und dann
Ausführe, wird dann um 1Byte weitergezält oder um 4?
p += 1;
Und wird hier auch um 1 byte weitergezält oder um 4??
MfG cloidnerux.
 
			
					
				Re: Pointer inkrementierung
				Verfasst: Do Aug 13, 2009 3:51 pm
				von Xin
				Pointer werden immer in der Größe ihrer Datensätze verändert.
p++; ist also Adresse von + sizeof( uint32 ).
Selbiges gilt für p+=1:   1 * sizeof( uint32 ).
Wäre p ein Zeiger auf eine struct foo, so würde p um sizeof( struct foo ) verschoben.
Wenn Du Byteweise vorgehen möchtest, musst Du zuerst auf einen Datentyp casten, der 1 Byte groß ist, z.B. (char *)
			 
			
					
				Re: Pointer inkrementierung
				Verfasst: Do Aug 13, 2009 4:05 pm
				von cloidnerux
				Wenn Du Byteweise vorgehen möchtest, musst Du zuerst auf einen Datentyp casten, der 1 Byte groß ist, z.B. (char *)
Achso, gut. Danke für die Antwort.