Pretypovani ukazatele struktury na bajt

Libor Konečný support na mikrovlny.cz
Neděle Únor 23 19:01:32 CET 2020


Dekuji vyzkousim.


LK

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
>
> Dne 23. 02. 20 v 17:40 Libor Konečný napsal(a):
>> Tak sizeof je 8
>> a zajimala by me ta spravna konstrukce, je tajna nebo muzete prozradit ?
>>
>>
>> LK
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list