Hallo beisammen,
irgendwie stehe ich voll auf dem Schlauch und komme einfach nicht dahinter, was an meiner Überlegung falsch ist. Ich möchte einen Byteblock erzeugen, der mittels einer Funktion, die mehrfach aufgerufen wird, aufgebaut wird. Folgendes ist ein Beispielcode, der nicht das tut, was er soll:
Ich will also den rsp Zeiger immer dann um ein Byte erhöhen, wenn ein neuer Wert dorthin geschrieben wurde. Hier tut sich aber leider nix, der Zeiger bleibt konstant. Also unterliege ich wohl in meinen Wissen zur Zeigerarithmetik einem Missverständnis. ;-)
Kennt jemand des Rätsels Lösung?
irgendwie stehe ich voll auf dem Schlauch und komme einfach nicht dahinter, was an meiner Überlegung falsch ist. Ich möchte einen Byteblock erzeugen, der mittels einer Funktion, die mehrfach aufgerufen wird, aufgebaut wird. Folgendes ist ein Beispielcode, der nicht das tut, was er soll:
Code:
#include <stdio.h>
typedef unsigned char u8;
void add_opt(void *rsp, void *data)
{
*(u8 *) rsp = *(u8 *) data;
printf("-> %p\n", rsp);
rsp += 1;
}
int main()
{
u8 rsp[2];
u8 test = 'a';
u8 test2 = 'b';
add_opt(rsp, &test);
add_opt(rsp, &test2);
printf("%c %c\n", rsp[0], rsp[1]);
return 0;
}
Kennt jemand des Rätsels Lösung?