Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ для ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 9

Автор C. Π‘ΠΎΡ‡ΠΊΠΎΠ²

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: struct student

{

char student [20]; /*массив ΠΈΠ· 20 элСмСнтов Ρ‚ΠΈΠΏΠ° char*/

int class;

int id;

} student; /* структура ΠΈΠ· Ρ‚Ρ€Π΅Ρ… элСмСнтов */

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ имя Ρ‚Π΅Π³Π° структуры, элСмСнта структуры ΠΈ самой структуры относится ΠΊ Ρ‚Ρ€Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ пространствам ΠΈΠΌΠ΅Π½, поэтому Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ противорСчия ΠΌΠ΅ΠΆΠ΄Ρƒ трСмя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ student. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ языка Π‘ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ ΠΏΠΎ контСксту использования, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ссылаСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС. НапримСр, ΠΊΠΎΠ³Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ student появится послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова struct, это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ имСнуСтся Ρ‚Π΅Π³ структуры. Когда ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ student появится послС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π° элСмСнта (-> ΠΈΠ»ΠΈ .), Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ имСнуСтся элСмСнт структуры. Π’ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ контСкстС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ student Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ссылка Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ структурного Ρ‚ΠΈΠΏΠ°.

ΠžΠ‘ΠͺΠ―Π’Π›Π•ΠΠ˜Π―

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ составныС части объявлСний ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ‚ΠΈΠΏΠΎΠ². Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.1 Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ понятия объявлСния ΠΈ опрСдСлСния. Π”Π°Π»Π΅Π΅ ΠΏΠΎ тСксту Π±ΡƒΠ΄Π΅ΠΌ для краткости Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ объявлСния, ΠΈ опрСдСлСния "объявлСниями", Ссли явно Π½Π΅ конкрСтизируСтся Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ понятиС.

ОбъявлСния Π² языкС Π‘ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

<спСцификация КП>

<спСцификация Ρ‚ΠΈΠΏΠ°>

<ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ> [=<ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€>] [,<ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ> [= <ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€>…]];

Π³Π΄Π΅:

<спСцификация КП> β€” спСцификация класса памяти;

<спСцификация Ρ‚ΠΈΠΏΠ°> β€” имя Ρ‚ΠΈΠΏΠ°, присваиваСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ;

<ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ> β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ простой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΈΠ±ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТная конструкция ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ составного Ρ‚ΠΈΠΏΠ°;

<ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€> β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, присваиваСмых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ объявлСнии.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях спСцификация класса памяти ΠΈ/ΠΈΠ»ΠΈ спСцификация Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½Π°.

ВсС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² языкС Π‘ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ явно ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… использованиСм, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏ int. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ явно, посрСдством задания объявлСния ΠΈΠ»ΠΈ опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ нСявно, Ссли ΠΈΡ… Π²Ρ‹Π·ΠΎΠ² слСдуСт Π΄ΠΎ опрСдСлСния ΠΈΠ»ΠΈ объявлСния.

БпСцификация класса памяти влияСт Π½Π° Ρ‚ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ области памяти хранится ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, производится Π»ΠΈ Π΅Π³ΠΎ нСявная инициализация ΠΈ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ участки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ распространяСтся Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия. ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ объявлСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΠ»ΠΈ отсутствиС Π΄Ρ€ΡƒΠ³ΠΈΡ… объявлСний этой ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ сущСствСнны ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΅Π΅ области дСйствия. ΠšΠ»Π°ΡΡΡ‹ памяти описаны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 3.6.

Π’ языкС Π‘ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. НовыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ этому Π½Π°Π±ΠΎΡ€Ρƒ посрСдством ΠΈΡ… объявлСния Π½Π° основС ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. БпСцификация Ρ‚ΠΈΠΏΠ° позволяСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π»ΠΈΠ±ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (см. Ρ€Π°Π·Π΄Π΅Π» 3.1), Π»ΠΈΠ±ΠΎ структурный Ρ‚ΠΈΠΏ (см. Ρ€Π°Π·Π΄Π΅Π» 3.4.3), Π»ΠΈΠ±ΠΎ Ρ‚ΠΈΠΏ объСдинСниС (см. Ρ€Π°Π·Π΄Π΅Π» 3.4.4).

НС считаСтся ошибкой объявлСниС внСшнСго уровня, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отсутствуСт ΠΈ спСцификация класса памяти, ΠΈ спСцификация Ρ‚ΠΈΠΏΠ°. Π’ этом случаС прСдполагаСтся Ρ‚ΠΈΠΏ int. Однако объявлСниС, состоящСС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

n;

нСдопустимо, Ρ‚.Π΅. простая пСрСмСнная Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСна ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ; ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСн ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, массив ΠΈΠ»ΠΈ функция.

ОбъявлСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ описатСлСй. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ простая пСрСмСнная, Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Π½ <спСцификациСй Ρ‚ΠΈΠΏΠ°>, ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ прСдставляСт собой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Для объявлСния массива Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ спСцифицированного Ρ‚ΠΈΠΏΠ° (см. Ρ€Π°Π·Π΄Π΅Π» 3.4.5), Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ спСцифицированного Ρ‚ΠΈΠΏΠ° (см. Ρ€Π°Π·Π΄Π΅Π» 3.5), Π»ΠΈΠ±ΠΎ указатСля Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ спСцифицированного Ρ‚ΠΈΠΏΠ° (см. Ρ€Π°Π·Π΄Π΅Π» 3.4.6), ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ дополняСтся, соотвСтствСнно, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками, ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками ΠΈΠ»ΠΈ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ. Π’ ΠΎΠ΄Π½ΠΎΠΌ объявлСнии ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½ΠΎ нСсколько описатСлСй Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ класс памяти ΠΈ Ρ‚ΠΈΠΏ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ описаны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 6.2, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ β€” Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 3.7.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ языкС Π‘ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… "Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ" Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этих Ρ‚ΠΈΠΏΠΎΠ² пСрСчислСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 3.1.

Π’Π°Π±Π»ΠΈΡ†Π° 3.1.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ БпСцификация Ρ‚ΠΈΠΏΠΎΠ² Π¦Π΅Π»Ρ‹Π΅ signed char Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ   signed int Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ†Π΅Π»Ρ‹ΠΉ   signed short int Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Ρ†Π΅Π»Ρ‹ΠΉ   signed long int Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Ρ†Π΅Π»Ρ‹ΠΉ   unsigned char Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ   unsigned int Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ†Π΅Π»Ρ‹ΠΉ   unsigned short int Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Ρ†Π΅Π»Ρ‹ΠΉ   unsigned long int Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Ρ†Π΅Π»Ρ‹ΠΉ ΠŸΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ float ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности   double ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности   long float Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности   long double Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности ΠŸΡ€ΠΎΡ‡ΠΈΠ΅ void пустой   enum пСрСчислимый

Π’ΠΈΠΏ long float Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² вСрсии 4.0 БП MSC ΠΈ эквивалСнтСн Ρ‚ΠΈΠΏΡƒ double. Π’ вСрсии 5.0 БП MSC ΠΈ Π² БП Π’Π‘ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΈΠΏ long double, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π² вСрсии 5.0 БП MSC ΠΈ вСрсии 1.5 БП Π’Π‘ ΠΎΠ½ эквивалСнтСн Ρ‚ΠΈΠΏΡƒ double, Π° Π² вСрсии 2.0 БП Π’Π‘ являСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 80 Π±ΠΈΡ‚ΠΎΠ².

Π’ΠΈΠΏΡ‹ char, int, short ΠΈ long ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ β€” Π·Π½Π°ΠΊΠΎΠ²ΡƒΡŽ (signed) ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡƒΡŽ (unsigned). Π’ совокупности ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ†Π΅Π»Ρ‹ΠΉ Ρ‚ΠΈΠΏ. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Ρ‚Π°ΠΊΠΆΠ΅ слуТит для прСдставлСния Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, пСрСмСнная пСрСчислимого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Π΅Π΅ объявлСнии. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² float ΠΈ double относятся ΠΊ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ.

Π¦Π΅Π»Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ пСрСчислимый Ρ‚ΠΈΠΏ) ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ Π² совокупности ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ арифмСтичСский Ρ‚ΠΈΠΏ.

Π’ΠΈΠΏ void (пустой) ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ спСцификации Ρ‚ΠΈΠΏΠ° void Π² объявлСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° void Π² спискС объявлСний Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² объявлСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². МоТно ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚ΠΈΠΏ void; ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° любой, Ρ‚.Π΅. нСспСцифицированный Ρ‚ΠΈΠΏ. Π’ΠΈΠΏ void ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ привСдСния Ρ‚ΠΈΠΏΠ°. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ значСния выраТСния ΠΊ Ρ‚ΠΈΠΏΡƒ void явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НСльзя ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° void.

ΠŸΡ€ΠΈ записи спСцификаций Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° допустимы сокращСния, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 3.2. НапримСр, Π² Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово signed ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ. Если ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово unsigned отсутствуСт Π² записи спСцификации Ρ‚ΠΈΠΏΠ° short, int ΠΈΠ»ΠΈ long, Ρ‚ΠΎ Ρ‚ΠΈΠΏ Ρ†Π΅Π»ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌ, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово signed.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚ΠΈΠΏ char всСгда ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°ΠΊ. Однако сущСствуСт опция компилятора языка Π‘ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ для char со Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π° Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ. Если эта опция Π·Π°Π΄Π°Π½Π°, Ρ‚ΠΎ сокращСниС char ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ смысл, Ρ‡Ρ‚ΠΎ ΠΈ unsigned char, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, для объявлСния символьной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ со Π·Π½Π°ΠΊΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ записано ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово signed.

Π’Π°Π±Π»ΠΈΡ†Π° 3.2.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΈΡ… сокращСния БпСцификация Ρ‚ΠΈΠΏΠ° Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ signed char char signed int signed, int signed short int short, signed short signed long int long, signed long unsigned char - unsigned int unsigned unsigned short int unsigned short unsigned long int unsigned long float - long float double long double double (БП MSC 5.0, БП TC 1.5) long double β€”(БП TC 2.0)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сокращСнныС Ρ„ΠΎΡ€ΠΌΡ‹ записи спСцификаций Ρ‚ΠΈΠΏΠΎΠ², пСрСчислСнныС Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 3.2; ΠΏΡ€ΠΈ этом прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ char ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°ΠΊ.