#include <stdio.h>
#include <string.h>
#include <stdlib.h>
enum { buffer_size = 32 };
struct buffer {
size_t id;
char bufferX[buffer_size];
};
int main(void) {
struct buffer buf;
buf.id = 5893;
strcpy(buf.bufferX, "c programming");
printf("buf.id: %d : buf.bufferX: %s\n", buf.id, buf.bufferX);
struct buffer *p = (struct buffer *)malloc(sizeof(struct buffer));
if (p == NULL) {
puts("Malloc error");
exit(1);
}
memcpy(p, &buf, sizeof(struct buffer));
printf("p->id: %d : p->bufferX: %s", p->id, p->bufferX);
free(p);
}
/*
compile:
buf.id: 5893 : buf.bufferX: c programming
p->id: 5893 : p->bufferX: c programming
*/