C语言学习书籍推荐《学习使用C指针(影印版)(英文本)》下载
《学习使用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指针(影印版)(英文本)》下载的更多相关文章
- C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载
普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表 ...
- C语言学习书籍推荐《C语言入门经典(第4版)》
霍顿 (Ivor Horton) (作者), 杨浩 (译者) <C语言入门经典(第4版)>的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员.读者基本不需要具备任何编程知识, ...
- C语言学习书籍推荐《C语言入门经典(第5版)》下载
霍尔顿 (Ivor Horton) (作者), 杨浩 (译者) 下载地址:点我 C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad ...
- C语言学习书籍推荐《你必须知道的495个C语言问题》
萨米特 (Steve summit) (作者), 孙云 (译者), 朱群英 (译者) 下载地址:点我 <你必须知道的495个C语言问题>以问答的形式组织内容,讨论了学习或使用C语言的过程中 ...
- c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载
下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...
- C语言学习书籍推荐《C语言接口与实现:创建可重用软件的技术》下载
<C语言接口与实现:创建可重用软件的技术>概念清晰.实例详尽,是一本有关设计.实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南.书中提供了大量实例,重在阐述如何用一种 ...
- C语言学习书籍推荐《C语言程序设计 现代方法(第2版)》下载
下载地址:点我 C语言仍然是计算机领域的通用语言之一,但现在的C语言已经和当初的时候大不相同了.本书主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化 ...
- 嵌入式C语言-学习书籍推荐(pdf附上百度云链接)
先推荐学习视频网站: https://www.bilibili.com/video/av22631677?from=search&seid=800092160484173881 书籍只推荐2本 ...
- C语言学习书籍推荐《C和指针 Pointers On C》下载
<C和指针 POINTERS ON C>提供与C语言编程相关的全面资源和深入讨论.本书通过对指针的基础知识和高 级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去. 全书共18 ...
- C语言学习书籍推荐《C陷阱与缺陷》下载
下载地址:点我 凯尼格 (作者), 高巍 (译者) <C和C++经典著作:C陷阱与缺陷>适合有一定经验的C程序员阅读学习,即便你是C编程高手,<C和C++经典著作:C陷阱与缺陷> ...
随机推荐
- WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂
原文:WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂 先上效果图 正常样式 拖动时样式 好下面 开始吧 ==================================== ...
- C# dotnetcore2.0结合Selenium搜索网页
using System; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace ConsoleApp_Selenium { c ...
- 零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异
原文:零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异 本次要针对Disabled以及Hidden作 ...
- C#获取字符串宽度像素
通过Graphics对象的MeasureString方法可以获取字符串的大小,如下: Graphics graphics = CreateGraphics(); SizeF sizeF = graph ...
- QT 那些事
一直做的是windows开发,有2个小项目想做到手机.看来看去,选择了QT.本文介绍自己的学习的一些心得,希望对你有帮助.1.选择QT2.安卓的一些事3.QML调用C++4.资源集成(比较有用,网上资 ...
- Delphi产生任务栏图标【TNotifyIconData】
一.新建一个应用程序:File->New Applicaton 在Interface部分要放在Uses Message之后,定义一个消息常量:const WM_NID=WM_USER+1000; ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- Angular4初学
[1].在学习Angular4之前,首先要了解一些typescript的知识. 以下是我的总结:https://gitee.com/FangXiaoQi123/angularJSCeShi/blob/ ...
- python网络编程——实现简单聊天
通过socket建立简单的聊天工具 server.py import socket import threading import time s = socket.socket(socket.AF_I ...
- spring cloud 系列第2篇 —— eureka 高可用注册中心的搭建 (F版本)
源码仓库地址:https://github.com/heibaiying/spring-samples-for-all 一.项目结构 eureka-server为服务注册中心,负责服务的管理: eur ...