《学习使用C指针(影印版)(英文本)》作者通过《学习使用C指针(影印版)(英文本)》中的内存模型为你展示了如何在数组、字符串、结构和函数中使用指针。虽然难以掌握,但是指针为C语言提供了灵活性和强大能力,不过很少有资料来讲述这种数据类型。无论你是初学者还是有经验的C或者C++编程人员和开发者,这本详尽的书籍都有着你所需要的知识。

下载地址:点我

编辑推荐

通过对C指针和内存管理的扎实理解来提高你的编程技能。在《学习使用C指针(影印版)》这本贴合实际的书籍里,你将了解到指针是如何提供了相应的机制来动态操纵内存,增强对数据结构的支持,允许直接访问硬件。作者Richard Reese(雷斯)通过本书中的内存模型为你展示了如何在数组、字符串、结构和函数中使用指针。
虽然难以掌握,但是指针为C语言提供了灵活性和强大能力,不过很少有资料来讲述这种数据类型。无论你是初学者还是有经验的C或者C++编程人员和开发者,这本详尽的书籍都有着你所需要的知识。

作者简介

作者:(美国)雷斯(Richard Reese)

雷斯(Richard Reese),是位于德克萨斯州斯蒂芬维尔镇上的塔尔顿州立大学的副教授。他在工业界和教育界工作了三十多年,包括在洛克希德马丁公司从事了十年的软件开发支持工作。

目录

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指针(影印版)(英文本)》下载的更多相关文章

  1. C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载

    普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表 ...

  2. C语言学习书籍推荐《C语言入门经典(第4版)》

    霍顿 (Ivor Horton) (作者), 杨浩 (译者) <C语言入门经典(第4版)>的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员.读者基本不需要具备任何编程知识, ...

  3. C语言学习书籍推荐《C语言入门经典(第5版)》下载

    霍尔顿 (Ivor Horton) (作者), 杨浩 (译者) 下载地址:点我 C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad ...

  4. C语言学习书籍推荐《你必须知道的495个C语言问题》

    萨米特 (Steve summit) (作者), 孙云 (译者), 朱群英 (译者) 下载地址:点我 <你必须知道的495个C语言问题>以问答的形式组织内容,讨论了学习或使用C语言的过程中 ...

  5. c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载

    下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...

  6. C语言学习书籍推荐《C语言接口与实现:创建可重用软件的技术》下载

    <C语言接口与实现:创建可重用软件的技术>概念清晰.实例详尽,是一本有关设计.实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南.书中提供了大量实例,重在阐述如何用一种 ...

  7. C语言学习书籍推荐《C语言程序设计 现代方法(第2版)》下载

    下载地址:点我 C语言仍然是计算机领域的通用语言之一,但现在的C语言已经和当初的时候大不相同了.本书主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化 ...

  8. 嵌入式C语言-学习书籍推荐(pdf附上百度云链接)

    先推荐学习视频网站: https://www.bilibili.com/video/av22631677?from=search&seid=800092160484173881 书籍只推荐2本 ...

  9. C语言学习书籍推荐《C和指针 Pointers On C》下载

    <C和指针 POINTERS ON C>提供与C语言编程相关的全面资源和深入讨论.本书通过对指针的基础知识和高 级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去.  全书共18 ...

  10. C语言学习书籍推荐《C陷阱与缺陷》下载

    下载地址:点我 凯尼格 (作者), 高巍 (译者) <C和C++经典著作:C陷阱与缺陷>适合有一定经验的C程序员阅读学习,即便你是C编程高手,<C和C++经典著作:C陷阱与缺陷> ...

随机推荐

  1. MVC WebApi

    两种web服务 •SOAP风格:基于方法,产品是WebService •REST风格:基于资源,产品是WebAPI 对于数据的增.删.改.查,提供相对的资源操作,按照请求的类型进行相应处理,主要包括G ...

  2. C/C++使用libcurl库发送http请求(get和post可以用于请求html信息,也可以请求xml和json等串)

    C++要实现http网络连接,需要借助第三方库,libcurl使用起来还是很方便的 环境:win32 + vs2015 如果要在Linux下使用,基本同理 1,下载编译libcurl 下载curl源码 ...

  3. Assertion failure in UITableViewCell layoutSublayersOfLayer解决办法

    iOS6 设备在更新UITableViewCell的时候遇到了 Assertion failure in -[UITableViewCell layoutSublayersOfLayer:], /So ...

  4. 数据库连接池之_Druid简单使用

    数据库连接池: 连接池是创建和管理一个连接的缓冲池的技术,这些连接真备好被任何需要他们的线程使用,可以对传统的JDBCjava数据库连接()进行优化 在实际开发中,我们需要频繁的操作数据库,这就意味着 ...

  5. 在Windows IoT上生成和识别二维码

    在Windows IoT生成和识别二维码,实际上由于是UWP上实现,所以,理论上,这些生成和识别二维码的方法也可以在其它平台上运行. 关于二维码的生成有很多库可以实现,比如QRCoder,这个库可以在 ...

  6. postgresql + JDBC 学习

    Based on debian 9, postgresql 9.6 and Java 8, at Dec-24-2018 ======================================= ...

  7. Ubuntu Linux服务器搭建SSL/TLS(https)(在StartSSL可以得到免费证书)

    目录 1 生成公钥和私钥对 2 公钥提交到CA机构签发一个crt证书 3 配置证书链 4 在Apache里开启SSL支持并配置crt证书和私钥 5 配置HSTS (可选) 6 总结 首先SSL/TLS ...

  8. 浏览器引擎-phantomjs初次认识

    最近没什么重要的任务,就抽空看了看项目组爬虫小组的代码,因为我们的爬虫主要是以python的scrapy框架为主,看起来比较方便.在看代码的时候看到一个叫phantomjs的东西,蛮新鲜的,就去问了下 ...

  9. SpringBoot自定义注解@YamlPropertySource加载yml或者yaml文件(扩展了@PropertySource)

    1:概述 SpringBoot的@PropertySource注解只支持加载 properties结尾的文件.当使用@ConfigurationProperties 注解配合@EnableConfig ...

  10. 揭秘重度MMORPG手游后台性能优化方案

    本文节选自<2018腾讯移动游戏技术评审标准与实践案例>手册,由腾讯互娱工程师王杰分享<仙剑奇侠传online>项目中游戏后台的优化经验,深度解析寻路算法.视野管理.内存优化. ...