Главная » Просмотр файлов » Стандарт языка Си С99 TC

Стандарт языка Си С99 TC (1113411), страница 10

Файл №1113411 Стандарт языка Си С99 TC (Стандарт языка Си С99 + TC) 10 страницаСтандарт языка Си С99 TC (1113411) страница 102019-04-24СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

Its lifetime is the entireexecution of the program and its stored value is initialized only once, prior to programstartup.4An object whose identifier is declared with no linkage and without the storage-classspecifier static has automatic storage duration.5For such an object that does not have a variable length array type, its lifetime extendsfrom entry into the block with which it is associated until execution of that block ends inany way. (Entering an enclosed block or calling a function suspends, but does not end,execution of the current block.) If the block is entered recursively, a new instance of theobject is created each time.

The initial value of the object is indeterminate. If aninitialization is specified for the object, it is performed each time the declaration isreached in the execution of the block; otherwise, the value becomes indeterminate eachtime the declaration is reached.6For such an object that does have a variable length array type, its lifetime extends fromthe declaration of the object until execution of the program leaves the scope of thedeclaration.27) If the scope is entered recursively, a new instance of the object is createdeach time. The initial value of the object is indeterminate.Forward references: statements (6.8), function calls (6.5.2.2), declarators (6.7.5), arraydeclarators (6.7.5.2), initialization (6.7.8).25) The term ‘‘constant address’’ means that two pointers to the object constructed at possibly differenttimes will compare equal.

The address may be different during two different executions of the sameprogram.26) In the case of a volatile object, the last store need not be explicit in the program.27) Leaving the innermost block containing the declaration, or jumping to a point in that block or anembedded block prior to the declaration, leaves the scope of the declaration.32Language§6.2.4WG14/N1256Committee Draft — Septermber 7, 2007ISO/IEC 9899:TC36.2.5 Types1The meaning of a value stored in an object or returned by a function is determined by thetype of the expression used to access it.

(An identifier declared to be an object is thesimplest such expression; the type is specified in the declaration of the identifier.) Typesare partitioned into object types (types that fully describe objects), function types (typesthat describe functions), and incomplete types (types that describe objects but lackinformation needed to determine their sizes).2An object declared as type _Bool is large enough to store the values 0 and 1.3An object declared as type char is large enough to store any member of the basicexecution character set. If a member of the basic execution character set is stored in achar object, its value is guaranteed to be nonnegative. If any other character is stored ina char object, the resulting value is implementation-defined but shall be within the rangeof values that can be represented in that type.4There are five standard signed integer types, designated as signed char, shortint, int, long int, and long long int.

(These and other types may bedesignated in several additional ways, as described in 6.7.2.) There may also beimplementation-defined extended signed integer types.28) The standard and extendedsigned integer types are collectively called signed integer types.29)5An object declared as type signed char occupies the same amount of storage as a‘‘plain’’ char object.

A ‘‘plain’’ int object has the natural size suggested by thearchitecture of the execution environment (large enough to contain any value in the rangeINT_MIN to INT_MAX as defined in the header <limits.h>).6For each of the signed integer types, there is a corresponding (but different) unsignedinteger type (designated with the keyword unsigned) that uses the same amount ofstorage (including sign information) and has the same alignment requirements. The type_Bool and the unsigned integer types that correspond to the standard signed integertypes are the standard unsigned integer types.

The unsigned integer types thatcorrespond to the extended signed integer types are the extended unsigned integer types.The standard and extended unsigned integer types are collectively called unsigned integertypes.30)28) Implementation-defined keywords shall have the form of an identifier reserved for any use asdescribed in 7.1.3.29) Therefore, any statement in this Standard about signed integer types also applies to the extendedsigned integer types.30) Therefore, any statement in this Standard about unsigned integer types also applies to the extendedunsigned integer types.§6.2.5Language33ISO/IEC 9899:TC3Committee Draft — Septermber 7, 2007WG14/N12567The standard signed integer types and standard unsigned integer types are collectivelycalled the standard integer types, the extended signed integer types and extendedunsigned integer types are collectively called the extended integer types.8For any two integer types with the same signedness and different integer conversion rank(see 6.3.1.1), the range of values of the type with smaller integer conversion rank is asubrange of the values of the other type.9The range of nonnegative values of a signed integer type is a subrange of thecorresponding unsigned integer type, and the representation of the same value in eachtype is the same.31) A computation involving unsigned operands can never overflow,because a result that cannot be represented by the resulting unsigned integer type isreduced modulo the number that is one greater than the largest value that can berepresented by the resulting type.10There are three real floating types, designated as float, double, and longdouble.32) The set of values of the type float is a subset of the set of values of thetype double; the set of values of the type double is a subset of the set of values of thetype long double.11There are three complex types, designated as float _Complex, double_Complex, and long double _Complex.33) The real floating and complex typesare collectively called the floating types.12For each floating type there is a corresponding real type, which is always a real floatingtype.

For real floating types, it is the same type. For complex types, it is the type givenby deleting the keyword _Complex from the type name.13Each complex type has the same representation and alignment requirements as an arraytype containing exactly two elements of the corresponding real type; the first element isequal to the real part, and the second element to the imaginary part, of the complexnumber.14The type char, the signed and unsigned integer types, and the floating types arecollectively called the basic types. Even if the implementation defines two or more basictypes to have the same representation, they are nevertheless different types.34)31) The same representation and alignment requirements are meant to imply interchangeability asarguments to functions, return values from functions, and members of unions.32) See ‘‘future language directions’’ (6.11.1).33) A specification for imaginary types is in informative annex G.34) An implementation may define new keywords that provide alternative ways to designate a basic (orany other) type; this does not violate the requirement that all basic types be different.Implementation-defined keywords shall have the form of an identifier reserved for any use asdescribed in 7.1.3.34Language§6.2.5WG14/N1256Committee Draft — Septermber 7, 2007ISO/IEC 9899:TC315The three types char, signed char, and unsigned char are collectively calledthe character types.

The implementation shall define char to have the same range,representation, and behavior as either signed char or unsigned char.35)16An enumeration comprises a set of named integer constant values. Each distinctenumeration constitutes a different enumerated type.17The type char, the signed and unsigned integer types, and the enumerated types arecollectively called integer types. The integer and real floating types are collectively calledreal types.18Integer and floating types are collectively called arithmetic types. Each arithmetic typebelongs to one type domain: the real type domain comprises the real types, the complextype domain comprises the complex types.19The void type comprises an empty set of values; it is an incomplete type that cannot becompleted.20Any number of derived types can be constructed from the object, function, andincomplete types, as follows:— An array type describes a contiguously allocated nonempty set of objects with aparticular member object type, called the element type.36) Array types arecharacterized by their element type and by the number of elements in the array.

Anarray type is said to be derived from its element type, and if its element type is T , thearray type is sometimes called ‘‘array of T ’’. The construction of an array type froman element type is called ‘‘array type derivation’’.— A structure type describes a sequentially allocated nonempty set of member objects(and, in certain circumstances, an incomplete array), each of which has an optionallyspecified name and possibly distinct type.— A union type describes an overlapping nonempty set of member objects, each ofwhich has an optionally specified name and possibly distinct type.— A function type describes a function with specified return type. A function type ischaracterized by its return type and the number and types of its parameters.

Afunction type is said to be derived from its return type, and if its return type is T , thefunction type is sometimes called ‘‘function returning T ’’. The construction of afunction type from a return type is called ‘‘function type derivation’’.35) CHAR_MIN, defined in <limits.h>, will have one of the values 0 or SCHAR_MIN, and this can beused to distinguish the two options.

Характеристики

Тип файла
PDF-файл
Размер
3,61 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее