Mistähän löytyisi kunnollinen selvitys C -kielen tyypeistä?
Joku vanhempi C -kieln satndardi ilmeisesti sallii funktiomäärittelyn ilman tyyppiä tällöin oletetaan int.
C99 käsittääkseni määrittelee, että tyyppi on pakko mainita, ja antaa ainakin varoituksen jos tyyppi puuttuu.
Mutta ilmeisesti nämä ovat edelleen sallittuja:
Sallittu Suositeltavampi
unsigned -> unsigned int
long -> long int
short -> short int
unsigned long -> unsigned long int
entäpä sitten 64 -bittinen kokonaisluku ?
64 -bittisissä käyttöjärjestelmissä arvatenkin pelkkä int on 64 -bittinen.
Mutta 32 -bittisissä käyttöjärjestelmissä 64 -bittisen kokonaisluvun saadakseen on sitten eri vaihtoehtoja:
_int64
__int64
long long int
jne. riippuen, onko kyseessä gcc, MS C, vai Borland C
edelleen: onko niin, että C99 -standardin mukaista lähdekoodia käännettäessä jotkut kääntäjät saattavat vaatia esim:
gcc -DC99
optiomäärittelyä, ja ilman tuota antavat virheilmoituksen sellaisista lähdekoodissa olevista rakenteista, jotkla ovat C99:n mukaisia mutta eivät esim C89:n mukaisia ?
C-kielen tyypit
C_selkeämmäksi
2
272
Vastaukset
Katsoppa stdint.h siellä on määritelty tyypit. Eli uint64_t on 64-bittinen etumerkitön kokonaisluku noin esimerkiksi.
C99:ä noudattamattomat kääntäjät voi kyllä olla rikki tämän suhteen.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077773
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1126036- 835187
- 1394546
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113230- 633014
- 582948
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102454- 612437
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562066