Vyreseno: Pretypovani ukazatele struktury na bajt

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Neděle Únor 23 19:35:02 CET 2020


No ale visi tu ve vzduchu otazka, proc to predtim nefungovalo?
Prislo mi, ze by to fungovat taky melo ale mozna jsem neco prehlednul...

Dne 23.02.2020 v 19:09 Libor Konečný napsal(a):
> 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
>
> _______________________________________________
> 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