A block permits multiple statements to be written in contexts where a single
statement is allowed.
block:
{ statement-listopt }
A block consists of an optional statement-list (§15.2.1), enclosed in
braces. If the statement list is omitted,
the block is said to be empty.
A block may contain declaration statements (§15.5). The scope of a local
variable or constant declared in a
block is the block.
Within a block, the meaning of a name used in an expression context must
always be the same (§14.5.2.1).
A block is executed as follows:
? If the block is empty, control is transferred to the end point of the
block.
? If the block is not empty, control is transferred to the statement list.
When and if control reaches the end
point of the statement list, control is transferred to the end point of the
block.
The statement list of a block is reachable if the block itself is reachable.
The end point of a block is reachable if the block is empty or if the end
point of the statement list is
reachable.
15.2.1 Statement lists
A statement list consists of one or more statements written in sequence.
Statement lists occur in blocks
(§15.2) and in switch-blocks (§15.7.2).
statement-list:
statement
statement-list statement
A statement list is executed by transferring control to the first
statement. When and if control reaches the end
point of a statement, control is transferred to the next statement. When
and if control reaches the end point of
the last statement, control is transferred to the end point of the
statement list.
A statement in a statement list is reachable if at least one of the
following is true:
? The statement is the first statement and the statement list itself is
reachable.
? The end point of the preceding statement is reachable.
? The statement is a labeled statement and the label is referenced by a
reachable goto statement.
The end point of a statement list is reachable if the end point of the last
statement in the list is reachable.
分享到:
相关推荐
15.2 Peephole Optimization 15.3 Redundancy Elimination in Basic Blocks 15.4 Global Redundancy and Data Flow Analysis 15.5 Loop Improvement I 15.6 Instruction Scheduling 15.7 Loop Improvement II 15.8 ...
16.3.1 Description Blocks 16.3.2 Macros 16.3.3 Inference Rules 16.3.4 Directives 16.3.5 Pseudotargets 16.4 Response-File Generation 16.5 Differences between NMAKE and MAKE Chapter 17 Using Other ...
15.2.HardwareSupportforConcurrency 196 15.3.AtomicVariableClasses 198 15.4.NonͲblockingAlgorithms 201 Summary 206 Chapter 16. The Java Memory Model 207 16.1.WhatisaMemoryModel,andWhywouldIWantOne? ...
Section 15.2. Storing Blocks in the Page Cache Section 15.3. Writing Dirty Pages to Disk Section 15.4. The sync( ), fsync( ), and fdatasync( ) System Calls Chapter 16. Accessing Files Section ...
15.2 The Basic Approach for Writing Modules 141 15.3 Using Environments 143 15.4 The module Function 144 15.5 Submodules and Packages 145 16 Object-Oriented Programming 149 16.1 Classes 151 16.2...
15.2. IDEs 15.3. 创建 HBase 12-5-30 HBase 官方文档 3/81 abloz.com/hbase/book.htm 15.4. Publishing a new version of hbase.apache.org 15.5. 测试 15.6. Maven Build Commands 15.7. Getting Involved 15.8. ...
Section 15.2. Executing Stored Programs with DBD::mysql Section 15.3. Conclusion Chapter 16. Using MySQL Stored Programs with Python Section 16.1. Installing the MySQLdb Extension Section ...
10.4 Building Blocks for Case 226 10.5 Case Support in Software Life-Cycle 227 10.6 Objectives of Case 228 10.7 Case Repository 229 10.8 Characteristics of Case Tools 231 10.9 Case ...
15.2 Mathematical Functions 621 15.3 Fundamentals of Functional Programming Languages 623 15.4 The First Functional Programming Language: LISP 624 15.5 An Introduction to Scheme 628 15.6 ...
1.13 Derived Logical Building Blocks / 28 Chapter 2 Integrated Circuits and the 7400 Logic Families. . . . . . . . . . . . . . . . . . . . .33 2.1 The Integrated Circuit / 33 2.2 IC Packaging / 38 2.3...
Table of Contents Section 1 Introduction to SystemVerilog ...................................................................................................... 1 Section 2 Literal Values................
4.1.1 Functional Blocks 4.1.2 First Steps in the Enterprise Services Repository 4.1.3 Service Interface 4.1.4 Integration Patterns: Stateful and Stateless Communication 4.1.5 Asynchronous versus ...
2.2.2 Modeling of Individual Blocks 41 2.2.3 Random Process Modeling and Simulation 47 2.3 Performance Estimation 49 2.4 Summary 52 2.5 Further Reading 52 2.6 Problems 52 Part II Fundamental Concepts ...
• Table of Contents • Index • Reviews • Reader Reviews • Errata • Academic Python Cookbook, 2nd Edition By David Ascher, Alex Martelli, Anna Ravenscroft Publisher : O'Reilly ...
CHECK and INIT Blocks Section 6.6. Apache::Registry Specifics Section 6.7. Transition from mod_cgi Scripts to Apache Handlers Section 6.8. Loading and Reloading Modules Section ...
7.6.2.1 Invariant meaning in blocks 159 7.6.3 Parenthesized expressions 160 7.6.4 Member access 161 7.6.4.1 Identical simple names and type names 162 7.6.4.2 Grammar ambiguities 163 7.6.5 Invocation ...
7.5 Aligned Ranks Test for Randomized Complete Blocks . . . . . . . . . . . . 170 7.6 Durbin’sTest forBalanced IncompleteBlocks . . . . . . . . . . . . . . . . 171 7.7 RankAnalysis ofCovariance . . ....
7.3 Arithmetic Circuits – Basic Building Blocks 236 7.3.1 Half-Adder 236 7.3.2 Full Adder 237 7.3.3 Half-Subtractor 240 7.3.4 Full Subtractor 242 7.3.5 Controlled Inverter 244 7.4 Adder–Subtractor ...
Common Stumbling Blocks Print Is A Function Views And Iterators Instead Of Lists Ordering Comparisons Integers Text Vs. Data Instead Of Unicode Vs. 8-bit Overview Of Syntax Changes New Syntax ...
Table of Contents Summary of GDB . . . . . . . . ....Free software ....Contributors to GDB ....A Sample GDB Session ....Loading the Executable ....Setting Display width....Setting Breakpoints ....Running the executable ...