release in December 2005 4 V1 Q' | 1 U9 I5 O2 H4 B + @In the future, the new iso27000 series security standards will consist of five parts:}, E0 Z "} * {2 T2 t(}, Q T7 H/ISO 27000 will formally define the specific technical vocabulary used in these standards; V (o! @ 5 S9 p $'ISO 27001 will be the ISO version of BS 7799-2, the certification standard (due for ful
6.4.3 Universal Character NameGrammar1. Universal Character Name:universal_character-name:\u Hex-quad(four hexadecimal digits)\u hex-quad Hex-quad Hex-quad:Hexadecimal-digit Hexadecimal-digit Hexadecimal-digit Hexadecimal-digitConstraints2, a universal character name should not specify a character, its short identifier is smaller than 00a0, in addition to 0024 ($), 0040 (@), 0060 ('), It should not be within the range of D800 to DFFFF (including both). [Note: Characters that are not allowed are
This series of posts will be based on the latest Official Handbook of ISO/IEC 9899, followed by the addition of GCC and the clang compiler to the standard extensions.This series of posts will be more than just a translation of the C programming language (C programming Language) standard, as well as a number of [translator's notes] and sample code provided by the translator personally.This document is copyri
1. Scope
1. This International Standard specifies the form of the C programming language and establishes an interpretation of programming in the C programming language. [Note: international standards are designed to improve the portability of C Programs in multiple data processing systems. Its purpose is to be used by implementers and programmers.] It specifies:
-- C language representation;
-- C language syntax and mandatory provisions;
-- Used to explain the Semantic Rules of C programs;
6.7.1 Storage Class DescriptorGrammar1,storage-class-specifier:typedefexternStatic_thread_localAutoRegisterConstraints2. In a declaration, you can only give a storage-class specifier in a declaration specifier, except that _thread_local can appear with static or extern . [Note: See "Future Language Direction" (6.11.5)]3. In the declaration of an object containing a block scope, if the declaration specifier contains _thread_local, then they should also contain static or extern. If _thread_local a
result cannot be a negative number, The operands of this comparison may never be compared to equal. Thus, for full portability, the variable C should be declared as int.5, Example 2 in the following program fragment:Char C; int i; Long = (c =i);The value of I is converted to the type of the assignment expression c = i , which is the char type. The value of the expression enclosed in parentheses is then converted to the type of the outer assignment expression, that is, the long int type.6, exam
;The following are allowed:1= i;]3. The combination of the operator and the operand is specified by the syntax. [Note: The syntax specifies the precedence of an operator in an expression calculation, which is the same as the order of the main sub-clauses of the clause, and the highest priority is first introduced. Thus, for example, an expression that is allowed as a binocular operator + (6.5.6) is the expression defined in 6.5.1 to 6.5.6. The exception is a cast expression (6.5.4) as the operan
6.4.6 PunctuationGrammar1. One of the following[ ] ( ) { } . + + +-- * +-~!/% = *=/=%= + = = Semantic2, a punctuation mark is a symbol, with independent grammatical and semantic meaning. Depending on the context, it can specify an action to be performed (which in turn produces a value or a function specifier, which produces a side effect, or a combination of these), in which case it is recognized as an operator (Other forms of the operator also exist in some contexts). An operand is an entit
6.9 external DefinitionsGrammar1,translation-unit:external-declarationTranslation-unit external-declarationexternal-declaration:function-definitionDeclarationConstraints2. Storage class specifier auto and register should not appear in the declaration descriptor of an external declaration.3. In a translation unit, each identifier should not have more than one external definition. In addition, if an identifier declared with an inner join is used in an expression (rather than as part of the operand
active position to the initial position at the beginning of the next logical page.\ n( newline ) moves the active position to the initial position of the next line.\ r( enter ) moves the active position to the initial position of the current row.\ t( horizontal tab ) moves the active position to the next horizontal tab position on the current line. If the active location is or crosses the last position defined by the Horizontal tab position, then the behavior of the display device is unspecifie
6.8.4 SELECT statementGrammar1,selection-statement:if ( expression ) Statementif ( expression ) Statement Else StatementSwitch ( expression ) statementSemantic2. A selection statement is selected in a set of statements and relies on a value that controls the expression.3. A SELECT statement is a block of statements whose scope is a strict subset of its enclosing statement blocks. Each associated child statement is also a block of statements whose scope is a strict subset of the scope of the sel
Appendix c--Order Points1. The following are the order points described in 5.1.2.3 (sequence point):--The Order point (6.5.2.2) between the function indicator (functions designator) and the actual argument in a function call, and the actual call.--The order point between the first and second computations of the following operators: Logic and (6.5.13); logical OR | | (6.5.14); comma ,(6.5.17).--In the conditional operator?: The first operand of the calculation and the second is computed with the
6.10.1 conditions includeConstraints1, the control condition contains the expression should be an integer constant expression, in addition to: identifiers (including those that are lexical and the same as the keyword) are resolved to the following description; [Note: Because the control constant expression is computed during phase 4 of the translation period, all identifiers are either macro names or macro names-- They are not keywords, enumeration constants, and so on. ] and it can contain a si
6.5.1 Basic ExpressionsGrammar1,primary-expression:identifierconstantstring-literal( expression )generic-selectionSemantic2, an identifier is a basic expression, provided as, it as the assignment of an object (in this case, it is an lvalue) or a function (in this case, it is a function specifier) and is declared. [Note: Thus, an undeclared identifier is a violation of this syntax.] [ Translator Note : for example:int Ten ; A; // This is a basic expression]3, a constant is a basic expression.
6.4.9 Notes1. In addition to a character constant, a string literal, or a comment, the characters/ * introduces a comment. The content of such a comment is checked only for the identification of multibyte characters and is to be found * /to terminate. [Note: Thus,/* ... * /comments are not nested. ]2. Except in a character constant, a string literal, or a comment, the character // introduces a comment that contains all subsequent multibyte characters, but does not include the next newline charac
6.4.8 preprocessing numbersGrammar1,pp-number:Digit. Digitpp-number Digit Pp-number identifier-nondigitPp-number e SignPp-number E SignPp-number P SignPp-number P SignPp-number .Describe2, a preprocessing number can begin with a number, optionally add a point (. ), and followed by valid identifier characters as well as character sequences e+,e ,e+,e,p+,P,p + or p-.3, preprocessing the digital tag lexical inclusion of all floating-point and integer constant tags.Semantic4. A preprocessing num
6.4.2 identifier6.4.2.1 UniversalGrammar1,identifier:identifier-nodigitidentifier identifier-nondigitidentifier Digitidentifier-nondigit:NondigitUniversal-character-nameOther implementation-defined charactersnondigit: One of the following characters_ A to Z A to ZDigit: 0 to 9Semantic2, an identifier is a non-numeric (including underscores _, lowercase and uppercase Latin alphabet, and other characters) and a sequence of numbers, which assigns one or more entities described in 6.2.1. There is a
6.4 Lexical elements1.token(Mark):keyword(keywords)identifier(identifier)constant(constant)String-literal (string literal)punctuator(punctuation)Preprocessing-token(preprocessing token):header-name(header file name)identifier(identifier)Pp-number(preprocessing numbers)character-constant(character constant)string-literal(string literal)punctuator(punctuation)Each non-whitespace character that does not belong to one of the aboveConstraints2. Each preprocessing token that is converted to a token sh
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.