Vyreseno: Pretypovani ukazatele struktury na bajt
Libor Konečný
support na mikrovlny.cz
Neděle Únor 23 19:09:59 CET 2020
Vyzkouseno a funguje, dekuji moc.
Libor
Dne 23.2.2020 v 17:52 Miroslav Mraz napsal(a):
> #include <stdio.h>
> #include <stdint.h>
> void funkce (void * ptr) {
> uint8_t * from = (uint8_t *) ptr;
> *from++=0x01 ;
> *from++=0x02 ;
> *from++=0x03 ;
> *from++=0x04 ;
> *from++=0x05 ;
> *from =0x06 ;
> }
> struct hdr_s {
> uint32_t ident;
> uint16_t magic;
> } hdr;
> int main (void) {
> funkce (&hdr);
> printf("sizeof (hdr) = %ld\n", sizeof (hdr));
> printf("hdr.ident = %08X, hdr.magic = %04X\n", hdr.ident, hdr.magic);
> return 0;
> }
>
> 1. Používat standardní typy proměnných v <stdint.h>.
> 2. Řadit prvky struktury od největšího k nejmenšímu aby nevznikly díry.
> Strukturu je dobré pojmenovat. Výpis je pak :
> sizeof (hdr) = 8
> hdr.ident = 04030201, hdr.magic = 0605
>
> Mrazík
Další informace o konferenci Hw-list