美文网首页
第十章 数组和指针——《C Primer Plus》笔记

第十章 数组和指针——《C Primer Plus》笔记

作者: One2INF | 来源:发表于2023-02-18 16:31 被阅读0次

第十章 数组和指针

10.1 数组

用逗号分隔的值列表初始化数组。

int powers[8] = {1,2,4,6,8,16,32,64};

如果不初始化数组,数组元素是未知值;如果部分初始化数组,剩余元素初始化为 0

指定初始化器(designated initializer)

int days[12] = {31,28,[4]=31,30,31,[1]=29};

防止数组越界访问

10.2 多维数组

即数组的元素是数组的多重嵌套,最常用的是二维数组,最好不要超过三维。

10.3 指针和数组

数组名是数组首元素的地址,因此可以用数组名给指针赋值,用指针间接访问数组。

10.4 函数、数组和指针

int arr[] 形式只能用于函数的形式参数

10.5 指针操作

  • 赋值

  • 解引用

  • 取址

  • 指针与整数相加

  • 递增指针

  • 递减指针

  • 指针减去一个整数

  • 指针求差

  • 比较

10.6 保护数组中的数据

对于编写处理数组的函数,只能通过传递指针的方式访问数组。而函数可以通过指针修改原始数组数据,因此要注意数据保护,不需要修改时可以对形式参数添加 const 修饰保护。

10.7 指针和多维数组

int zippo[4][2];

数组名是数组首元素的地址,zippo[4][2] 的首元素是大小为 2int 数组。

zippo:指向大小为 2int 数组的指针;

zippo[0]:指向 int 对象的指针;

把非 const 指针赋值给 const 指针没问题,前提是只进行一级解引用,一下程序演示 const int 被修改了

const int **pp2;
int *p1;
const int n = 13;
pp2 = &p1;
*pp2 = &n;
*p1 = 10;

10.8 变长数组(VLA)

指可以在创建数组时使用变量指定数组的大小。c99 支持,C11 作为一个可选项。建议不用。

10.9 复合字面量

字面量:除符号常量外的常量。

5int 类型字面量;

81.3double 类型字面量;

‘Y’char 类型字面量。

复合字面量:数组和结构的字面量。

(int [2]){10, 20} 是复合字面量

(int []){50, 20, 90} 是内含 3 个元素的复合字面量

相关文章

  • C中的多维数组和其指针(1)

    C中数组和指针的关系是紧密的,实际上C中的数组就是靠指针定义的——C Primer Plus(第五版) 多维数组和...

  • C++ 读书笔记 - 01

    指针 和 函数 (By Jabin) C++ Primer Plus 中文 第六版Essential C++...

  • 书籍推荐

    1.《C primer plus》----《C程序设计语言》-----《C和指针》、《C专家编程》、《C缺陷与陷阱...

  • C primer plus第十章 指针和数组

    最近在读《C primer plus》,后面的指针和多维数组感觉很绕,有必要写博文理清一下思路。如有不对,恳请指正...

  • C语言从入门到精通所需的7本书

    C Primer Plus C Primer Plus作为一本被人推崇备至的c入门经典,C primer plus...

  • C语言

    1.书籍推荐 c primer plus c和指针 C专家编程 2.配合b站,网易云课程,学堂在线 这样可以更熟悉...

  • C语言2数据

    基础知识不够清楚,学习自《C和指针》& 《C Primer Plus》 基本数据类型 整形 提示:如果一个值被当作...

  • C++函数初识

    Tags:C++,《C++ Primer Plus》笔记 一、原型、定义与调用## 一个完整的函数包含原型、定义和...

  • 静心学习之路(7)——C++干架用知识

    善用书籍后自带的单词索引 指针、引用、数组、内存。《C++ Primer 5th》2.3.2——指针《C++ Pr...

  • 2019-05-10(传递结构的地址 为什么 传递结构的地址

    传递结构的地址 参考: c primer plus 对代码进行解释:sum()函数 使用指向funds结构指针(m...

网友评论

      本文标题:第十章 数组和指针——《C Primer Plus》笔记

      本文链接:https://www.haomeiwen.com/subject/kndbkdtx.html