X hits on this document





180 / 396

Chapter ‎18   Unsafe code

declaration-statement: local-variable-declaration   ; local-constant-declaration   ;

8.5.1 Local variable declarations

A local-variable-declaration declares one or more local variables.

local-variable-declaration: type  local-variable-declarators

local-variable-declarators: local-variable-declarator local-variable-declarators   ,  local-variable-declarator

local-variable-declarator: identifier identifier   =  local-variable-initializer

local-variable-initializer: expression array-initializer

The type of a local-variable-declaration specifies the type of the variables introduced by the declaration. The type is followed by a list of local-variable-declarators, each of which introduces a new variable. A local-variable-declarator consists of an identifier that names the variable, optionally followed by an “=” token and a local-variable-initializer that gives the initial value of the variable.

The value of a local variable is obtained in an expression using a simple-name (§‎7.5.2), and the value of a local variable is modified using an assignment (§‎7.13). A local variable must be definitely assigned (§‎5.3) at each location where its value is obtained.

The scope of a local variable declared in a local-variable-declaration is the block in which the declaration occurs. It is an error to refer to a local variable in a textual position that precedes the local-variable-declarator of the local variable. Within the scope of a local variable, it is a compile-time error to declare another local variable or constant with the same name.

A local variable declaration that declares multiple variables is equivalent to multiple declarations of single variables with the same type. Furthermore, a variable initializer in a local variable declaration corresponds exactly to an assignment statement that is inserted immediately after the declaration.

The example

void F() { int x = 1, y, z = x * 2; }

corresponds exactly to

void F() { int x; x = 1; int y; int z; z = x * 2; }

8.5.2 Local constant declarations

A local-constant-declaration declares one or more local constants.

local-constant-declaration: const   type   constant-declarators

Copyright Microsoft Corporation 1999-2003. All Rights Reserved.167

Document info
Document views1264
Page views1264
Page last viewedFri Jan 20 10:25:41 UTC 2017