Кіріспе

C бағдарламалау тілінде деректер түрлері дерек элементтерінің семантикасы мен сақталу ерекшеліктерін анықтайды. Олар тілдің синтаксисінде жад орындары немесе айнымалылардың жариялануы түрінде көрінеді. Деректер түрлері дерек элементтерін өңдеуге арналған операциялардың немесе әдістердің түрлерін де белгілейді. C тілі бүтін және нақты сандар сияқты негізгі арифметикалық түрлерді, сондай-ақ массивтер мен күрделі түрлерді құруға арналған синтаксисті ұсынады. C стандартты кітапханасының бас файлдары, `#include` директивалары арқылы қолданылатын, қосымша қасиеттері бар түрлердің анықтамаларын қамтиды, мысалы, нақты көлемде сақтауды қамтамасыз ету, бұл тілдің нақты аппараттық платформалардағы іске асырылуына тәуелді емес.

Біттік дәлді бүтін сандар түрлері

C23-тен бастап тіл бағдарламашыға кез келген бит санындағы бүтін сандарды анықтауға мүмкіндік береді. Бұл типтер , мұндағы N – биттер санын көрсететін бүтін сан тұрақты өрнек, соның ішінде таңбалы типтер үшін таңба биті екілік толықтыру түрінде көрсетілген. N-нің ең жоғары мәні BITINT MAXWIDTH арқылы беріледі және ол ULLONG WIDTH-тен кем болмауы керек. Сондықтан, тип (немесе) -2-ден 1-ге дейінгі мәндерді қабылдаса, ал - 0-ден 3-ке дейінгі мәндерді қабылдайды. Сондай-ақ, 0 немесе 1 мәнін қабылдайтын тип те бар, және оған баламалы таңбалы тип жоқ.

Өлшемі мен меңзердің айырмашылық түрлері

C тілінің сипаттамасы жадқа қатысты шамаларды көрсету үшін size_t және ptrdiff_t түрлерін қамтиды. Олардың мөлшері мақсатты процессордың арифметикалық қабілеттеріне сәйкес анықталады, жадтың мүмкіндіктеріне емес, мысалы, қолжетімді адрестік кеңістікке. Бұл екі түр де <stddef.h> зақыпысында (C++-та cstddef) анықталған. size_t – нақты бір іске асыруда кез келген нысанның (массивтерді қоса алғанда) мөлшерін көрсетуге арналған қол қойылмаған бүтін сан түрі. Оператор size_t типіндегі мәнді береді. size_t-тің ең үлкен мөлшері SIZE_MAX макро тұрақтысы арқылы беріледі, ол <stdint.h> зақыпысында (C++-та cstdint зақыпысы) анықталған. size_t кемінде 16 бит енді болуы кепілдендірілген. Сонымен қатар, POSIX size_t енімен бірдей ені бар қол қойылған бүтін сан түрі – ssize_t-ті қамтиды.

ptrdiff_t – көрсеткіштер арасындағы айырманы көрсетуге арналған қол қойылған бүтін сан түрі. Ол тек бірдей типтегі көрсеткіштер үшін ғана жарамды екені кепілдендіріледі; әртүрлі типтардан тұратын көрсеткіштерді алу – бұл іске асыруға байланысты анықталады.

Негізгі типтердің қасиеттерімен интерфейс

Негізгі арифметикалық типтердің, мысалы, көлемі сияқты нақты қасиеттері туралы ақпарат екі header файлындағы макро тұрақтылар арқылы ұсынылады: <limits.h> (C++-тағы climits header файлы) бүтін сан типтері үшін макростарды, ал <float.h> (C++-тағы cfloat header файлы) қозғалмалы нүкте типтері үшін макростарды анықтайды. Нақты мәндер қолданылуға қарай өзгереді.

Белгілі ені бар бүтін сандар түрлері

C99 стандарты бағдарламалардың тасымалдануын жақсарту мақсатында бірнеше жаңа бүтін сан түрлерін анықтайды. Бірақ <stdatomic.h> бас файлы қосылған жағдайда, «атомдық» деген қарапайым атауды қолдануға болады. Олардың ішінде const ең көп танымал және қолданылатыны, ол стандартты кітапханада кездеседі және C тілінің кез келген маңызды қолданысында қолданылуы тиіс, оның const дұрыстығын қамтамасыз етуі қажет. Қалған белгілеуіштер төмен деңгейлі бағдарламалау үшін қолданылады, және олар кеңінен қолданылса да, әдеттегі бағдарламашылар оларды сирек пайдаланады.