深入理解C指针第一章小结1
1.1 指针和内存,C程序在编译后,会以三种形式使用内存。
(1) 静态/全局内存:在程序开始时分配,程序结束才消失,所有函数都能访问全局变量,static静态变量的作用域局限在定义它们的函数内部
(2)自动内存:在函数内部声明,函数被调用才创建,函数结束就消失。
(3)动态内存:内存分配到堆上,直到释放才会消失。malloc指针分配的内存,作用域局限于引用内存的指针。
1.1.3 简单阅读声明:将声明倒过来读
//指向const类型的指针,指针内容可以修改,指向的内容不能修改
const int* p;
int const* p; //const指针,指针内容不可修改,指向内容可以修改,必须要初始化
int* const p = &xxx; //指针和指向内容都不可以修改,必须要初始化
int const* const p = &xxx;
const int* const p = &xxx;
1.1.8 NULL的概念
#define NULL ((void *) 0 )
//NULL宏是强制类型转换为void执政的整数常量0
int* p;
p = 0;
p = NULL;
p = 100; //语法错误
p = num;//语法错误
深入理解C指针第一章小结1的更多相关文章
- Unity 游戏框架搭建 2019 (九~十二) 第一章小结&第二章简介&第八个示例
第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示 ...
- 《SDN核心技术剖析和实战指南》第一章小结
第一章主要是概况.新技术有一个特点是,每家都有不同的说法.这里我只说说我比较认同的部分. SDN的核心概念大概有两个:转发面与控制面分离.开发可编程化.书里还说逻辑上集中控制,其实这个就可以从转发与控 ...
- 深入理解计算机系统 Start && 第一章要点
对此书已经慕名已久了,抽空看了第1,2,3,5章,其他章节等有空闲继续看吧. 我的许多博客是给自己快速复习使用的,比如此读书后感,你可以根据我下面的建议读完原书几章再回来复习一下(或许那时候就没必要回 ...
- 《STL源码剖析》学习半生记:第一章小结与反思
不学STL,无以立.--陈轶阳 从1.1节到1.8节大部分都是从各方面介绍STL, 包括历史之类的(大致上是这样,因为实在看不下去我就直接略到了1.9节(其实还有一点1.8.3的内容)). 第一章里比 ...
- C和指针 第一章 字符串处理程序
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_COL 20 #def ...
- spring in action第一章小结1
1 spring基本理念是简化java开发. 使用以下4个策略简化java开发 1) 基于POJO的轻量级和最小侵入性编程 2)通过使用DI和AOP实现松耦合 3)基于切面和惯例进行声明式编程 4)通 ...
- 经典中的品味:第一章 C++的Hello,World!
摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! "程序设计要通过编写程序的实践来学习"-Brian ...
- 20190804-Python基础 第一章
学习爬虫的同时,补充学习更多Python的基础知识,才能让所学更加扎实. 至今,所学的很多东西,基础都不牢固,导致这些所学都是浅尝则止的皮毛,不能真正上战场,故借速成之心,踏实打牢基础,举一反三,以求 ...
- 深入理解 C 指针阅读笔记 -- 第六章
Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_ /*<深入理解C指针>学习笔记 -- 第六章*/ typedef struct _ ...
随机推荐
- 复位和时钟控制(RCC)
一.系统复位 复位除了部分RCC寄存器和备份区域以外的其他所有的寄存器: 来源: NRST引脚上的低电平(外部复位) WWDG计数结束 IWDG计数结束 软件复位(通过NVIC) 低电压管理的复位 电 ...
- express框架总结
1.express教程及api : http://www.runoob.com/nodejs/nodejs-express-framework.html 2.nodejs的express自动生成项目框 ...
- dos添加文件夹属性!
attrib 显示所有文件的属性:参数:+r或-r [文件名] 设置文件属性是否为只读 +h或-h [文件名] 设置文件属性是否隐含 +s或-s [文件名] 设置文件属性是否为系统文件 +a或-a [ ...
- (转)Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇
转:http://tengj.top/2017/03/13/springboot4/ 前言 Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持. 正文 Sp ...
- ARMv8 内存管理架构.学习笔记
http://blog.csdn.net/forever_2015/article/details/50285955 版权声明:未经博主允许不得转载,请尊重原创, 谢谢! 目 录 第1章 分级存储 ...
- OAccflow集成sql
SELECT * FROM PORT_EMP WHERE NO='18336309966'SELECT * FROM PORT_DEPT WHERE no='42DBAF50712C4046B09BC ...
- 使用cookie来做身份认证 转载https://www.cnblogs.com/sheldon-lou/p/9545726.html
文章是msdn的官方文档,链接在这里.其实也有中文的文档,这里还是想做一个记录. 文章有asp.net core 2.x 和1.x 版本,我这里就忽略1.x了. 下面先说几点额外的东西有助于理解. A ...
- (转)Jupyter默认目录和默认浏览器修改
目录 1.总结:修改Anaconda中的Jupyter Notebook默认工作路径的三种方式 # 2.Jupyter默认目录和默认浏览器修改 1.总结:修改Anaconda中的Jupyter Not ...
- Java + selenium Timeout接口用法介绍
上一篇介绍了关于如何启动浏览器的方法.这篇文章要介绍一下,上一篇代码中关于等待时间的接口方法,代码如下: driver.manage().timeouts().pageLoadTimeout(5, T ...
- Rust <2>:函数、方法与注释的格式
rust 函数定义格式如下: fn function_name(a: i64, b: u32, c: bool) -> (d: f64, e: &str) { ... (1, " ...