[C] Co oznacza zapis 12345ul
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

[C] Co oznacza zapis 12345ul

AutorWiadomość
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
C/C++
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:
C/C++
position =(( unsigned long ) x +(( unsigned long ) y ) *( framebuffer->width ) ) * 4ul;
Dokładniej o:
C/C++
4ul
Całość tutaj: https://github.com/fhunter/framebuffer/blob/master/framebuffer.c
 
Wie ktoś może skąd to się wzieło?
P-108954
» 2014-04-30 14:20:48
To tylko suffix

ul / UL - unsigned long
P-108955
» 2014-04-30 15:47:09
To tylko suffix ul
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.
P-108960
« 1 »
 Strona 1 z 1