网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 学习使用C指针(影印版)
分类
作者 (美)雷斯
出版社 东南大学出版社
下载
简介
目录

Preface

1. Introduction

 Pointers and Memory

  Why You Should Become Proficient with Pointers

  Declaring Pointers

  How to Read a Declaration

  Address of Operator

  Displaying Pointer Values

  Dereferencing a Pointer Using the Indirection Operator

  Pointers to Functions

  The Concept of Null

 Pointer Size and Types

  Memory Models

  Predefined Pointer-Related Types

 Pointer Operators

  Pointer Arithmetic

  Comparing Pointers

 Common Uses of Pointers

  Multiple Levels of Indirection

  Constants and Pointers

 Summary

2. Dynamic Memory Management in C

 Dynamic Memory Allocation

  Memory Leaks

 Dynamic Memory Allocation Functions

  Using the malloc Function

  Using the calloc Function

  Using the realloc Function

  The alloca Function and Variable Length Arrays

 Deallocating Memory Using the free Function

  Assigning NULL to a Freed Pointer

  Double Free

  The Heap and System Memory

  Freeing Memory upon Program Termination

 Dangling Pointers

  Dangling Pointer Examples

  Dealing with Dangling Pointers

  Debug Version Support for Detecting Memory Leaks

 Dynamic Memory Allocation Technologies

  Garbage Collection in C

  Resource Acquisition Is Initialization

  Using Exception Handlers

 Summary

3. Pointers and Functions

 Program Stack and Heap

  Program Stack

  Organization of a Stack Frame

 Passing and Returning by Pointer

  Passing Data Using a Pointer

  Passing Data by Value

  Passing a Pointer to a Constant

  Returning a Pointer

  Pointers to Local Data

  Passing Null Pointers

  Passing a Pointer to a Pointer

 Function Pointers

  Declaring Function Pointers

  Using a Function Pointer

  Passing Function Pointers

  Returning Function Pointers

  Using an Array of Function Pointers

  Comparing Function Pointers

  Casting Function Pointers

 Summary

4. Pointers and Arrays

 Quick Review of Arrays

  One-Dimensional Arrays

  Two-Dimensional Arrays

  Multidimensional Arrays

 Pointer Notation and Arrays

  Differences Between Arrays and Pointers

 Using malloc to Create a One-Dimensional Array

 Using the realloc Function to Resize an Array

 Passing a One-Dimensional Array

  Using Array Notation

  Using Pointer Notation

 Using a One-Dimensional Array of Pointers

 Pointers and Multidimensional Arrays

 Passing a Multidimensional Array

 Dynamically Allocating a Two-Dimensional Array

  Allocating Potentially Noncontiguous Memory

  Allocating Contiguous Memory

 Jagged Arrays and Pointers

 Summary

5. Pointers and Strings

 String Fundamentals

  String Declaration

  The String Literal Pool

  String Initialization

 Standard String Operations

  Comparing Strings

  Copying Strings

  Concatenating Strings

 Passing Strings

  Passing a Simple String

  Passing a Pointer to a Constant char

  Passing a String to Be Initialized

  Passing Arguments to an Application

 Returning Strings

  Returning the Address of a Literal

  Returning the Address of Dynamically Allocated Memory

 Function Pointers and Strings

 Summary

6. Pointers and Structures

 Introduction

  How Memory Is Allocated for a Structure

 Structure Deallocation Issues

 Avoiding malloc/free Overhead

 Using Pointers to Support Data Structures

  Single-Linked List

  Using Pointers to Support a Queue

  Using Pointers to Support a Stack

  Using Pointers to Support a Tree

  Summary

7. Security Issues and the Improper Use of Pointers

 Pointer Declaration and Initialization

  Improper Pointer Declaration

  Failure to Initialize a Pointer Before It Is Used

  Dealing with Uninitialized Pointers

 Pointer Usage Issues

  Test for NULL

  Misuse of the Dereference Operator

  Dangling Pointers

  Accessing Memory Outside the Bounds of an Array

  Calculating the Array Size Incorrectly

  Misusing the sizeof Operator

  Always Match Pointer Types

  Bounded Pointers

  String Security Issues

  Pointer Arithmetic and Structures

  Function Pointer Issues

 Memory Deallocation Issues

  Double Free

  Clearing Sensitive Data

 Using Static Analysis Tools

 Summary

8. Odds and Ends

 Casting Pointers

  Accessing a Special Purpose Address

  Accessing a Port

  Accessing Memory using DMA

  Determining the Endianness of a Machine

 Aliasing, Strict Aliasing, and the restrict Keyword

  Using a Union to Represent a Value in Multiple Ways

  Strict Aliasing

  Using the restrict Keyword

 Threads and Pointers

  Sharing Pointers Between Threads

  Using Function Pointers to Support Callbacks

 Object-Oriented Techniques

  Creating and Using an Opaque Pointer

  Polymorphism in C

 Summary

Index

编辑推荐

通过对C指针和内存管理的扎实理解来提高你的编程技能。在《学习使用C指针(影印版)》这本贴合实际的书籍里,你将了解到指针是如何提供了相应的机制来动态操纵内存,增强对数据结构的支持,允许直接访问硬件。作者Richard Reese(雷斯)通过本书中的内存模型为你展示了如何在数组、字符串、结构和函数中使用指针。

虽然难以掌握,但是指针为C语言提供了灵活性和强大能力,不过很少有资料来讲述这种数据类型。无论你是初学者还是有经验的C或者C++编程人员和开发者,这本详尽的书籍都有着你所需要的知识。

内容推荐
通过对C指针和内存管理的扎实理解来提高你的编程技能。在这本贴合实际的书籍里, 你将了解到指针是如何提供了相应的机制来动态操纵内存, 增强对数据结构的支持, 允许直接访问硬件。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/1 20:47:47