aka:C PROGRAMMING: A Modern Appoach
- C PROGRAMMING: A Modern Approach
- 1 INTRODUCING C
- 2 C FUNDAMENTALS
- 3 FORMATTED INPUT/OUTPUT
- 4 EXPRESSIONS
- 5 SELECTION STATEMENTS
- 6 LOOPS
- 7 BASIC TYPES
- 7.1 Integer Types
- 7.2 Floating Types
- 7.3 Character Types
- 7.4 Type Conversion
- 7.5 Type Definitions
- 7.6 The sizeof Operator
- Q & A
- Exercises
- Programming Projects
- 8 ARRAYS
- 8.1 One-Dimensional Arrays
- 8.2 Multidimensional Arrays
- a[i][j]のとき、jのところが一次元目、iのところが二次元目。
- 8.3 Variable-Length Arrays
- Q & A
- Exercises
- Programming Projects
- 9 FUNCTIONS
- 10 PROGRAM ORGANIZATION
- 11 POINTERS
- 11.1 Pointer Variables
- 最近のコンピュータでは、主メモリはバイト単位で分割されている。
- それぞれのバイトは、一意なアドレスを持っている。
- 変数の値は、メモリの中で1つまたは複数のバイトに格納されている。
- そのときの先頭バイトのアドレスを、変数のアドレスと呼ぶ。
- このアドレスがポインタである。
- ポインタは数にすぎないが、レンジが整数とは違うので独自の型に格納する。
- 11.2 The Address and Indirection Operators
- 11.3 Pointer Assignment
- 11.4 Pointer as Arguments
- 11.5 Pointers as Return Values
- Q & A
- Exercises
- Programming Projects
- 12 POINTERS AND ARRAYS
- 12.1 Pointer Arithmetic
- 12.2 Using Pointers for Array Processing
- 12.3 Using an Array Name as a Pointer
- 12.4 Pointers and Multidimensional Arrays
- 12.5 Pointers and Variable-Length Arrays (C99)
- Q & A
- Exercises
- Programming Projects
- 13 STRINGS
- 13.1 String Literals
- 13.2 String Variables
- 13.3 Reading and Writing Strings
- 13.4 Accessing the Characters in a String
- 13.5 Using the C String Library
- 13.6 String Idioms
- 13.7 Arrays of Strings
- Q & A
- Exercises
- Programming Projects
- 14 THE PREPROCESSOR
- 15 WRITING LARGE PROGRAMS
- 15.1 Source Files
- Source Files: functionsとexternal variablesの定義を含む。拡張子は.c。
- Header Files: source filesの間で共有する情報を含む。拡張子は.h。
- ただしC Standardでは、どちらもsource fileと呼ぶ。
- 複数source filesがあるとき、お互いに、他のfileで定義されたものどもを呼出したりするための機構が、#includeとheader files。
- 15.2 Header FIles
- #include <filename>
- これはC Standardで定義されているlibraries用。
- #include "filename"
- header files はマクロ定義の共有に使える。
- header files は関数プロトタイプをsource files間で共有するのに使える。
- えっとファイル毎にコンパイルしてリンクするのですが、コンパイルするときは、他のファイルの情報というのはコンパイラはもっていない。すなわちコンパイル対象ファイルだけをみている。なので、そのファイルが例えば他のファイルで定義された関数の呼出しを含む場合、そのファイルは明示的に該当する関数プロトタイプを含んでいなければならない。もちろんそれを直接そのsource fileに書くこともできるけれど、もっと便利な方法がある。それはa header fileに関数プロトタイプ達を書いておき、#includeで共有するということだ。
- 15.3 Dividing a Program in Files
- 15.4 Building a Multiple-File Program
- Q & A
- Exercises
- Programming Projects
- 16 STRUCTURES, UNIONS, AND ENUMERATIONS
- 17 ADVANCED USES OF POINTERS
- 17.1 Dynamic Storage Allocation
- 17.2 Dynamically Allocated Strings
- 17.3 Dynamically Allocated Arrays
- 17.4 Deallocating Storage
- 17.5 Linked Lists
- 17.6 Pointers to Pointers
- 17.7 Pointers to Functions
- 17.8 Restricted Pointers (C99)
- 17.9 Flexible Array Members (C99)
- Q & A
- Exercises
- Programming Projects
- 18 DECLARATIONS
- 19 PROGRAM DESIGN
- 20 LOW-LEVEL PROGRAMMING
- 21 THE STANDARD LIBRARY
- 22 INPUT/OUTPUT
- 23 LIBRARY SUPPORT FOR NUMBERS AND CHARACTER DATA
- 24 ERROR HANDLING
- 25 INTERNATIONAL FEATURES
- 26 MISCELLANEOUS LIBRARY FUNCTIONS
- 27 ADDITIONAL C99 SUPPORT FOR MATHEMATICS
Last modified : 2012/03/20 15:35:53 UTC