`
kula
  • 浏览: 57674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • highill: 在baidu上看了 HTML5与FLASH的斗争和前景分析.d ...
    html5和flash
  • interjc: 问题是html5的标准如何才能完全同意,不要到时候搞得群雄割据 ...
    html5和flash
  • evanmeng: 谷歌地图上早就可以利用点评网的数据显示某地周围的餐饮信息。但我 ...
    openapi 简介

c与指针 读书笔记 05

    博客分类:
  • soft
阅读更多
malloc分配一块连续的内存。
malloc实际分配的可能比你请求的要多一些。
如果系统无法向malloc提供更多的内存,malloc就会返回一个NULL指针.
malloc返回一个void *指针
对于要求边界对齐的机器,malloc所返回的内存满足边界对齐
malloc没有对内存清0
calloc有个对内存清0的过程
realloc用来修改一个原本已经分配内存块的大小。如果要缩小内存块,该内存块尾部的部分内存将被拿去。如果扩展一块内存,有两种情况。情况一,这块内存原有的内容将被保留,新增加的内存添加在原有内存的后面。情况二,如果原有内存块无法改变大小,realloc将分配另一块正确大小的内存,并把原先那块内存的内容复制到新的块中。因此在使用realloc之后,你就不能再使用指向旧内存的指针,而是应该改用realloc所返回的指针
如果realloc函数的第一个参数是NULL,那么它的行为就和malloc一模一样.

释放一块内存的一部分是不被允许的。动态分配的内存必须整块一起释放.
不要释放已被free的内存.

函数只能返回一个标量,不能返回一个数组

预处理器的主要任务包括删除注释,插入被#include指令包含的文件的内容。定义和替换由#define指令定义的符号以及确定代码的部分内容是否应该根据一些条件编译指令进行编译.

__FILE__ 进行编译的源文件名
__LINE__ 文件当前行的行号
__DATE__ 文件被编译的日期
__TIME__ 文件被编译的时间
__STDC__ 如果编译器遵循ANSI C,其值就为1,否则未定义

#include 预处理器删除这条指令,并用包含文件的内容取而代之。
一个头文件如果被包含在10个源文件中,它实际上被变异了10次

#include <filename> 函数库文件包含.unix下搜索usr/include目录
#include "filename" 本地文件包含

宏的优点有两个
1,与类型无关
2,执行速度快于函数,不存在函数调用返回的开销

系统提供至少三个流,
标准输入,标准输出和标准错误.
名字分别为stdin,stdout,stderr.
r 读取
w 写入
a 添加
rb 二进制读取
wb 二进制写入
ab 二进制添加
a+ 打开更新,此流可读写

任何操作都是不可靠的,都有可能失败.所以要检查

volalite 关键字用于防止编译器自动优化
分享到:
评论

相关推荐

    C语言经典书籍的读书笔记

    在深入探讨C语言的知识之前,让我们先明确一下“C语言经典书籍”的读书笔记主要涵盖了哪些核心概念。这里主要讨论了变量、内存地址、指针、指针变量、指针与数组的区别、左值和右值以及`const`关键字的用法。 首先...

    c语言教程及读书笔记

    这篇教程及读书笔记将带你深入理解C语言的基础和精髓。 首先,我们来探讨C语言的基础部分。C语言的核心在于其语法结构,包括变量、常量、数据类型、运算符和控制结构。变量是存储数据的容器,常量则是不可更改的值...

    《C和指针》读书笔记.pdf

    ### 《C和指针》读书笔记知识点梳理 #### 第一章 快速上手 1. **注释与预处理指令**: - C语言中有两种常用的注释方式:`/* ... */` 和 `// ...`。前者适用于多行注释,但存在嵌套问题,后者仅适用于单行注释。 ...

    谭浩强c语言ppt,读书笔记及课后题答案

    这份资源包含了该书的配套PPT、作者的读书笔记以及课后习题的答案,对于学习C语言的人来说,是一份极其宝贵的资料。 PPT部分可能涵盖了C语言的基础概念、语法结构、控制结构、函数、指针、数组、结构体等核心内容。...

    《C Primer Plus》读书笔记

    读书笔记是对全书内容的提炼和总结,帮助读者巩固理解并快速回顾所学知识。 一、C语言基础 C语言是一门低级编程语言,它提供了对硬件的直接控制能力,同时具有高级语言的简洁和高效。C Primer Plus首先介绍了C语言...

    C语言程序设计谭浩强重点笔记.zip

    本压缩包“C语言程序设计谭浩强重点笔记.zip”包含了一份详尽的C语言学习笔记,以文档形式提供,名为“C语言程序设计谭浩强重点笔记.doc”。这份笔记是对谭浩强教授书中的关键概念、语法和编程技巧的提炼,对于深入...

    C语言陷阱和缺陷与读书笔记word档

    这份"**C语言陷阱和缺陷与读书笔记word档**"正是为了帮助初学者避开这些潜在问题而编写的。 一、内存管理 在C语言中,程序员需要手动管理内存,这可能导致内存泄漏或野指针。当忘记释放已分配的内存时,就会发生...

    由C到嵌入式C读书笔记(讲述)

    《由C到嵌入式C读书笔记》 C语言,作为一种强大的编程语言,是学习嵌入式系统开发的基础。在由C到嵌入式C的过程中,深入理解和掌握C语言的基本概念至关重要。 首先,C语言中的标识符是程序中用于唯一标识数据和...

    《嵌入式Linux C语言应用程序设计》读书笔记

    第四至第八章,作者详细阐述了C语言的语法和常用数据结构,这部分内容是编程的基础,包括变量、控制流、函数、数组、指针、结构体等,并可能涉及链表、树、队列等数据结构。 第九至第十二章,聚焦于Linux系统开发,...

    谭浩强C程序设计读书笔记以及PPT.rar

    这份“谭浩强C程序设计读书笔记以及PPT.rar”压缩包文件包含了读者在研读这本书时所做的笔记和相关的PPT教学材料,对于学习C语言的人来说是一份宝贵的资源。 C语言是一种通用的、面向过程的编程语言,由Dennis ...

    C++读书笔记

    【C++读书笔记】 在深入理解C++的过程中,读书笔记是一种有效的学习方法,它能帮助我们整理思绪,巩固知识,并且在日后回顾时提供清晰的指引。以下是对C++编程语言的一些关键知识点的概述,这些内容可能涵盖在读书...

    《C语言程序设计》读书笔记模板.pptx

    本资源为《C语言程序设计》读书笔记模板,涵盖了C语言程序设计的基本概念、数据类型、运算符、控制结构、函数、数组、指针、文件操作等方面的知识点。 1. C语言简介 * 计算机语言的发展 * C语言的发展及其特点 *...

    C陷阱与缺陷读书笔记整理

    《C陷阱与缺陷》是一本深入探讨C语言潜在问题的经典著作,它揭示了在编程过程中容易忽视或误解的陷阱和缺陷。以下是对书籍内容的详细梳理: ### 一、词法陷阱 1. **`=` 不同于 `==`**:在C语言中,`=`是赋值运算符...

    谭浩强C语言课件+课后答案+读书笔记

    这份压缩包包含的资源非常全面,涵盖了课件、课后答案以及读书笔记,是学习C语言的宝贵资料库。 首先,课件部分通常是按照教材章节编排的,每节课件会详细解释C语言的关键概念,如变量、数据类型、运算符、控制结构...

    C程序设计读书笔记

    C语言的数据类型多样,包括整型、实型(浮点型)、字符型、数组、指针、结构体、共用体等。它支持结构化控制语句,如if...else、while、do...while、switch和for,提供了直接访问物理地址和位操作的能力,因此适合...

    C程序设计读书笔记C程序设计读书笔记.doc

    7. **指针**:指针是C语言的一大特色,它可以存储其他变量的地址,允许直接操作和传递内存地址,增强了程序的灵活性和效率。 8. **结构体与共用体**:结构体可以组合不同类型的数据,共用体允许在有限的内存空间中...

    经典C语言读书笔记.pdf

    ### 经典C语言读书笔记知识点总结 #### C语言中的计数规则与真假表示 C语言作为一种基础且广泛使用的编程语言,在其设计中遵循了一系列特有的规则。其中最基础的两个概念是计数规则以及真假值的表示方法。 - **...

    effective c++读书笔记

    从给出的部分内容来看,读书笔记主要聚焦于以下几个知识点: 1. C++语言的联邦概念:C++是一个由多个次语言构成的语言联邦,这包括了C语言核心、面向对象的C++、模板C++以及标准模板库(STL)。这种理解对于深入...

    谭浩强C程序设计和读书笔记以及PPT

    【标题】"谭浩强C程序设计和读书笔记以及PPT"所涵盖的知识点主要集中在C语言编程领域,这是由著名计算机教育家谭浩强教授编写的经典教材,旨在帮助初学者理解和掌握C语言的基本概念、语法和编程技巧。C语言是一种...

    C语言设计实例详解详解

    指针是C语言的一大特色,它可以存储内存地址,通过指针可以实现对变量的间接访问,增强了程序的灵活性。 数组和结构体是C语言中组织数据的重要方式。数组是一系列相同类型的元素集合,可以一次性处理多个数据。...

Global site tag (gtag.js) - Google Analytics