《C专家编程》笔记——第一章
《C专家编程》笔记——第一章
标签(空格分隔): C专家编程
p19:参数传递赋值约束:要使赋值合法,必须满足下列条件之一:
连个操作数都是指向有限定符或无限定符的相容类型指针,左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。eg1:
char *cp; const char *ccp; cpp=cp;//可以正常赋值
- 左操作数cpp是一个指向有const 限定符的char指针
- 右操作数cp是一个指向没有限定符的char指针
- char类型和char类型都是相容的,左操作数所指向的类型具有右操作数所指向的类型的限定符(无),再加上自身的限定符(const).
- 注意:反过来就不能进行赋值:
cp=ccp; /*编译错误*/
const float *
不是一个有限定符的指针类型—它的类型是“指向一个具有const限定符的float类型的指针”,也就是说const限定符限定的是修饰指针所指向的类型,而不是指针本身。
- eg2:
const char**
也是一个没有限定符的指针类型。它的类型是“指向一个具有const限定符的char类型的指针的指针”。
由于char **
和const char**
都是没有限定符的指针类型,但他们所指向的类型不一样(前者指向char*
,后者指向const char*
),因此他们是不相容的。
p24:对无符号类型的建议:
尽量不要在你的代码中使用无符号类型,以免增加不必要的复杂性。尤其是,不要仅仅因为无符号数不存在(如年龄、国债)而用它来表示数量。
尽量使用int那样的有符号类型,这样在涉及升级混合类型的复杂细节时,不必担心边界情况(如-1被译为非常大的正数)
只有在使用位段和二进制掩码时,才可以使用无符号类型。应该在表达式中使用强制类型转换,是操作数均为有符号或无符号数,这样就不必由编译器来选择类型结果。p25:一个好的宏定义:
#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))//使用该方式,移值方便
\\而不是
#define TOTAL_ELEMENTS (sizeof(array)/sizeof(int))//不便于修改数组基本类型
参考:《C编程专家》 Peter Van Der Linden 著 徐波 译
《C专家编程》笔记——第一章相关推荐
- 《Go语言圣经》学习笔记 第一章 Go语言入门
Go语言圣经学习笔记 第一章 Go语言入门 目录 Hello, World 命令行参数 查找重复的行 GIF动画 获取URL 并发获取多个URL Web服务 本章要点 注:学习<Go语言圣经&g ...
- 【王道考研】操作系统 笔记 第一章
特此鸣谢王道考研 本文参考王道考研的相关课程 若有侵权请联系,立删 其余笔记链接: [王道考研]操作系统笔记 第一章_才疏学浅743的博客-CSDN博客 [王道考研]操作系统 笔记 第二章上 进程调度 ...
- Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境
Android群英传神兵利器读书笔记--第一章:程序员小窝--搭建高效的开发环境 目录 1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程 ...
- 机器人导论(第四版)学习笔记——第一章
机器人学导论(第四版)学习笔记--第一章 1. 概述 1.1 背景 1.2 操作臂力学和控制 1.3 符号 1. 概述 1.1 背景 工业自动化的发展带来了工业机器人的高速发展.本书聚焦机械臂的力学和 ...
- 微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关
微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关 1. 微服务简介 1.1 服务架构演变 1.2 SpringCloud ...
- 深入理解 C 指针阅读笔记 -- 第一章
上周末,我在图书馆看到了这本很薄的书 -- <深入理解 C 指针> 这本书中写的内容,个人感觉适合一个初学者,内容不是很难.我也读了下,对每一章都做了笔记,笔记都是用代码的形式 ...
- Java7并发编程指南——第一章:线程管理
Java7并发编程指南--第一章:线程管理 @(并发和IO流) Java7并发编程指南第一章线程管理 思维导图 项目代码 思维导图 项目代码 GitHub:Java7ConcurrencyCookbo ...
- 2010计算机知识点总结,2010年全国职称计算机考试:知识点笔记第一章
第一章 信息技术与计算机文化 1. 信息技术与计算机 1) 信息技术的概念:利用科学的原理.方法及先进的工具和手段,有效地开发和利用信息资源的技术体系.包括微电子技术.计算机技术.软件技术.通信技术等 ...
- 浙江大学pta答案python第四章_浙大PTA-Python题库 编程题第一章(1-1~1-3)题解
其他各章题解链接如下 浙大PTA-Python题库 编程题第一章(1-1~1-3)题解 https://blog.csdn.net/zimuzi2019/article/details/1070206 ...
- 【连载】大学物理笔记——第一章末+第二章质点动力学
我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...
最新文章
- python重命名文件pycharm_Python中批量修改变量名太费劲?Pycharm中使用重命名一次搞定...
- 人工智能中“图神经网络GNN”如何理解?(附斯坦福综述)
- mysql date(6)_不使用MySQL中的DATE_ADD()将6个小时添加到now()函数吗?
- MapReduce中Client提交Job源码分析
- 收藏/一文弄清楚强弱电机房位置大小及布置如何选择?
- nginx官方模块之http_sub_status_module
- Jquery实现点击页面发送弹幕效果
- CentOS下firefox安装flash说明
- c++17(6)-数学 函数
- Linux select 实现并发服务器和客户端
- html-css样式表
- c+oracle+bulk,C#使用OracleBulkCopy
- IIS上部署网站问题总结
- [JDK8] Lambda
- Java类和对象(全网最细详解)
- 笔记本电池信息查询与电池更换
- CAM和GradCAM
- 刷单会入刑了你知道吗?四招教你迅速识别刷单!
- Latex中文字体字号对应
- 引流软件哪个好,脚本引流软件实战解说