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