Sören schrieb:
> Hallo zusammen,
>
> einer gegebenen Funktion (C)
>
1 | > void func(const unsigned char* ptr)
|
2 | >
|
> soll eine Konstante, z.B. 0xAB, übergeben werden.
>
> Dazu möchte ich diese Konstante nicht in einer Variable ablegen und den
> Zeiger darauf übergeben.
Wenn die Funktion eine Adresse haben will, an der sie den (die) unsigned
chars vorfindet, dann will sie eine Adresse haben und du brauchst etwas,
von dem du eine Adresse bilden kannst. Zahlenkonstante sind nichts, das
eine Adresse im Speicher hätte.
Also kannst du es drehen und wenden wie du willst, du musst dir etwas
bauen, von dem du eine Adresse abgreifen kannst. Eine Variable.
Auf der anderen Seite kann man sich natürlich fragen, warum diese
Funktion eigentlich eine Adresse haben will. Aus dem Codeschnipsel ist
das nicht erkennbar, warum das so sein soll. Kann ja auch sein, dass der
Programmierer unsinnigerweise ein Pointerargument benutzt, obwohl er das
überhaupt nicht müsste.