Chapter III Advanced C Language Data Type
52. Identify the special language structure used by the function, you can better understand the code using it.
53, you can identify and distinguish the reason for each usage pointer.
54. In the C language program, the pointer is used to express the chain data structure, dynamically allocated data structure, implement reference calls, when passing data item access and iteration, when the array parameters are passed, the reference to the function is used as another value. Alias reference, performance string, or directly access the system's memory.
55. The function parameters pass the parameters to return the parameters of the function, or to avoid the re-copy parameters.
56. The pointer to the array can be used to access the array items in the specified number of sequence numbers.
57. The calculation of the pointer to the array is equivalent to the array of data item numbers.
58. The global or local static variable used by the function is not renewable in most cases.
59. The string pointer is different from the character array.
60, can identify and distinguish the reason for each use of the joint structure.
61. In the C language program, structures are used to organize data items as a whole, or to return multiple data items from a function, or to build a chain table data structure, or to map hardware The data organization of the device, network connection, and storage media, or to express abstract data types, or to write C language programs in accordance with object-oriented style.
62. In the C language, combine to optimize storage space, realize polymorphism, or use to access different performance of the internal number.
63. The pointer is initialized to the storage area of the data item to n, and if the storage area is an array of N data items, the pointer can be used to decompose.
64. Dynamically allocated memory should be explicitly released, or to terminate release, or use garbage collectors; memory allocated on the stack is released when the function is called.
65. In the C language, TypeDef declares that the readability of the code is used to solve the transpability of the code, or imitate the C and Java's category actions.
66. Definition of TypeDef as a variable: The name of the variable is the name of Type, the type of variable is the Type corresponding type.
Chapter 4 C Language Data Structure
67, pay attention to the operation of the external data structure in the underlying abstract data class.
68. The typical implementation of the vector directly uses the built-in array data type in the C language, but does not implement the characteristics of abstract vectors from the underlying.
69. Complete traversal use statement for use of N-dimensional arrays (i = 0; i 70. Expression SIZEOF (X) always returns the number of bytes occupied by array x (not pointers) after using MEMSET or MEMCPY. 71, the range of the array ranges usually the first data item of the value group and the area after the last data item. 72. The data item in the dynamic array is equivalent to changing the results of the upper and lower bounds of the dynamic array. 73. When the upper bound of the dynamic array is equal to its download, the array ranges to be empty. 74. The downlink of the dynamic array represents the first data item in the array assigns the memory, and the upper bound represents the first data item that exceeds the array space. 75. The array data structure is sometimes used to represent a data sheet consisting of several records and fields. 77, pointing to a plurality of sets of pointers or pointers to a data item can be used to store a dynamically assigned memory, which can be accessed as a two-dimensional array. 78. One-dimensional array can also be used to store a dynamically assigned memory, which uses the most common way to use the one-dimensional array. 79. The abstract data type provides a metric that the underlying data is implemented (or abuse) method. 80, the array can start as a key code according to the integer 0, perform a series of findings. 81. The array is sometimes used to improve the efficiency of the data structure control process, thereby simplifying the logic of the program. 82, array use code to store each data item and point to data item processing functions. 83. By storing data, abstract codes, virtual machines, etc. in the program, the array can change the control behavior of the program. 84. Expression SIZEOF (X) / SIZEOF (X [0]) represents the number of data items of array x. 85, including the data structure that points to the next data item pointer can be used as a node in the single-linked list. 86, a chain table node that is pointed out of a persistent pointer (eg, allocated on a static, static or on the heap) typically represents the header point of the linked list. 87. The data structure that measures the next and the previous data item pointer may indicate a node in the double-linked list. 88. Draw data items into boxes, pointed into arrows to track pointer behavior in complex data structures. 89. The recursive data structure usually processes the recursive algorithm. 90. General data structural behavior and algorithms are usually implemented using functions or parameterized templates. 91. The diagram node can be stored in the linked lists of each side of the array, linked list, or connection diagram. 92. The edge of the figure can be used to express an implicit pointer or an implicit discrete data structure. 93. The edges of the figure are usually stored with dynamically assigned array or linked lists, and they also use nodes for implementing the diagram. 94. The two connected data nodes in the non-mapped figure are considered equal, and the direction of the node is no longer different when processing the code. 95. In the non-map, the cross code is used to connect the isolated sub-map. 96. When processing the diagram of the closed loop, the passing code is used to avoid the circulation of the figure. 97. In the complex figure, there is a possibility that the discrete data structure is impossible. Chapter 5 Advanced Control Flow 98, recursive algorithms and data structures are usually implemented using recursive functions. 99. The recursive function is subject to basic case testing and build a series of uncomfortable and executable informal parameters for testing. 100. Simple language usually uses a series of functions that meet the language syntax structure. 101. The definition of recursive concept should be considered before the recursive function design. 102. Recursive calls at the end of the function are equivalent to the start point of the loop to the loop in the loop structure. 103. After removing the THROWS statement in the delay method, you can easily use the Java compiler to locate the implicit exception code that the runtime may thrown. 104, using multiprocessor's code is usually constructed by threads and process processing. 105. Parallel processing models rationally assign tasks in the processor, or create a task pool that assigns generic large tasks. 106. Thread-based parallel processing models need to maintain a central thread, the center thread is responsible for scheduling and blocking the working thread. 107. Process-based parallel processing models require multiplexed existing programs or data structures, and use communication between processes using well-defined interfaces. 108. Based on the parallel mechanism of the pipeline, each task is responsible for receiving some input data, completing the processing of the data, and then pass the processing result to the next task to further process. 109. The competitive conditions for parallel processing are subtle, and it is usually spread in multiple functions or modules, and the result will be difficult to independently. 110, observe suspicious data structural operations and library calls in a single process as much as possible. 111. When reading the code with macro definition, the macro is neither a function is neither a function. 112. Define macros in the Do ... While (0) block, equivalent to the statements. 113. Macros can explicitly access local variables. 114. Calling macros can change the value of incoming parameters. 115. Use a macro tag to form a new identifier.