第3部分 高级篇
第15堂课 存储管理 435 视频讲解:33分钟
15.1 内存组织方式 436
15.1.1 内存组织方式 436
15.1.2 堆管理 436
15.2 动态管理 437
15.2.1 malloc函数 437
15.2.2 calloc函数 438
15.2.3 realloc函数 439
15.2.4 free函数 439
15.3 内存丢失 440
15.4 照猫画虎——基本功训练 441
15.4.1 基本功训练1——sizeof关键字的应用 441
15.4.2 基本功训练2——为具有3个数组元素的数组分配内存 442
15.4.3 基本功训练3——为二维数组动态分配内存 442
15.5 情景应用——拓展与实践 444
15.5.1 情景应用1——使用malloc()函数分配内存 444
15.5.2 情景应用2——调用calloc()函数动态分配内存 444
15.5.3 情景应用3——商品信息的动态存放 445
15.6 自我测试 446
15.7 行动指南 447
15.8 成功可以复制——知识改变命运、科技改变生活李彦宏 448
第16堂课 链表在C语言中的应用 451 视频讲解:76分钟
16.1 链表 452
16.1.1 链表概述 452
16.1.2 静态链表 453
16.1.3 处理动态链表所需的函数 454
16.2 链表相关操作 454
16.2.1 创建动态链表 454
16.2.2 输出链表 456
16.2.3 链表的插入操作 458
16.2.4 链表的删除操作 459
16.3 链表的表现形式 463
16.3.1 单向链表 463
16.3.2 循环链表 464
16.3.3 双向链表 464
16.4 照猫画虎——基本功训练 465
16.4.1 基本功训练1——创建单向链表 465
16.4.2 基本功训练2——向单向链表中插入元素 467
16.4.3 基本功训练3——删除结点元素 469
16.4.4 基本功训练4——创建双向链表 471
16.4.5 基本功训练5——创建循环链表 474
16.5 情景应用——拓展与实践 475
16.5.1 情景应用1——单向链表逆置 475
16.5.2 情景应用2——双向链表逆序输出 477
16.5.3 情景应用3——连接两个链表 479
16.5.4 情景应用4——使用链表实现约瑟夫环 480
16.5.5 情景应用5——查找两个链表中的相同元素 482
16.6 自我测试 484
16.7 行动指南 486
16.8 成功可以复制——中国通信设备行业的领跑者任正非 486
第17堂课 栈和队列 489 视频讲解:73分钟
17.1 栈的定义和几种基本操作 490
17.1.1 栈的定义 490
17.1.2 栈常见的几种基本操作 491
17.2 栈的存储和实现 492
17.2.1 顺序栈 492
17.2.2 链栈 494
17.3 队列的定义和基本操作 497
17.3.1 队列的定义 497
17.3.2 队列常见的几种基本操作 497
17.4 队列的存储及运算 497
17.4.1 顺序队列 497
17.4.2 链队列 500
17.4.3 循环队列 501
17.5 照猫画虎——基本功训练 501
17.5.1 基本功训练1——应用栈实现进制转换 501
17.5.2 基本功训练2——括号匹配检测 504
17.5.3 基本功训练3——利用栈实现递归计算多项式 507
17.5.4 基本功训练4——循环队列的基本操作 508
17.6 情景应用——拓展与实践 511
17.6.1 情景应用1——汉诺塔问题 511
17.6.2 情景应用2——机票预售系统 513
17.6.3 情景应用3——链队列的使用 515
17.7 自我测试 519
17.8 行动指南 520
17.9 成功可以复制——软件业的华人教父王嘉廉 521
第18堂课 C语言中的位运算 523 视频讲解:62分钟
18.1 位与字节 524
18.2 位运算操作符 524
18.2.1 与运算符 524
18.2.2 或运算符 525
18.2.3 取反运算符 527
18.2.4 异或运算符 528
18.2.5 左移运算符 529
18.2.6 右移运算符 530
18.3 循环移位 532
18.4 位段 533
18.4.1 位段的概念与定义 533
18.4.2 位段相关说明 534
18.5 照猫画虎——基本功训练 535
18.5.1 基本功训练1——输入两个整数实现按位与和按位或 535
18.5.2 基本功训练2——使二进制数特定位翻转 536
18.5.3 基本功训练3——整数与0异或 537
18.5.4 基本功训练4——将输入的数左移两位并输出 538
18.5.5 基本功训练5——编程实现循环右移 538
18.6 情景应用——拓展与实践 539
18.6.1 情景应用1——交换两个值不用临时变量 539
18.6.2 情景应用2——取一个整数的后4位 540
18.6.3 情景应用3——编写循环移位函数 541
18.6.4 情景应用4——取出给定16位二进制数的奇数位 541
18.6.5 情景应用5——求一个数的补码 542
18.7 自我测试 543
18.8 行动指南 544
18.9 成功可以复制——创造互联网搜索时代谢尔盖·布林 545