[C] Co oznacza zapis 12345ul
Ostatnio zmodyfikowano 2014-04-30 15:47
koe Temat założony przez niniejszego użytkownika |
[C] Co oznacza zapis 12345ul » 2014-04-30 14:05:28 Witam, spotkałem się z konstrukcją kodu której nie rozumiem. Jestem początkującym w C. Poniżej kod void fb_putpixel( struct fb_struct * framebuffer, int x, int y, unsigned char pixel[ 4 ] ) { unsigned long position = 0; position =(( unsigned long ) x +(( unsigned long ) y ) *( framebuffer->width ) ) * 4ul; lseek( framebuffer->descriptor, position, SEEK_SET ); write( framebuffer->descriptor, pixel, 4 ); }; Chodzi o linijke: position =(( unsigned long ) x +(( unsigned long ) y ) *( framebuffer->width ) ) * 4ul;
Dokładniej o: Całość tutaj: https://github.com/fhunter/framebuffer/blob/master/framebuffer.c Wie ktoś może skąd to się wzieło? |
|
alixir |
» 2014-04-30 14:20:48 To tylko suffix
ul / UL - unsigned long |
|
bombatom69 |
» 2014-04-30 15:47:09
Na pewno. "l" to też "tylko" sufix do wyrazu 4u
Wie ktoś może skąd to się wzieło? |
W oryginale, zapewne z klawiatury.
Takie "tylko sufixy" stosujesz po to aby wymusić traktowanie stałej dosłownej, jako wartość określonego typu. |
|
« 1 » |