|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/c-programming-pointers-and-memory-management
课程评论:没有评论
课程名称:C 编程:指针和内存管理 - 4 概述:本课程将探讨编程语言中一个关键概念:内存的使用。课程基于在《C 编程:模块化编程和内存管理》中讨论的指针基本概念,介绍指针及指针算术的高级用法。我们还将讨论指针数组和多维数组,并学习如何在程序执行期间为自己的数据动态分配内存。 您将在专为本课程开发的浏览器工具中进行实际编码,立即获得代码反馈,无需安装任何软件! 为什么学习 C 而不是其他编程语言?您知道智能手机、汽车导航系统、机器人、无人机、火车以及几乎所有电子设备的后台都有 C 代码运行吗?C 语言在速度和灵活性至关重要的场合(如嵌入式系统或高性能计算)中广泛应用。 在本课程中,您还将获得对任何编程语言的基础编程概念的经验。 完成本课程后,您将达到 C 编程与 Linux 专项课程的第四个里程碑,为您打开计算机工程职业生涯的大门。 就业前景: - 程序员、开发者、工程师、经理等与科学计算和数据科学相关的产业; - 嵌入式系统,如交通、公共事业网络和航空航天; - 机器人行业和制造业; - 物联网(IoT),包括智能家居、自动化和可穿戴设备。 - IEEE,即全球最大的科技专业组织,2021 年将 C 语言列为需求量第三的顶级编程语言。(数据来源:IEEE Spectrum) 本课程得到了帕特里克与莉娜·德拉希基金会的资金支持。 课程大纲: - 欢迎:让我们开始编码!您将熟悉我们的学习工具,这些工具旨在让学习编码更容易。 - 第一周:内存和指针:到第一周结束时,您将能够可视化内存中的指针概念,并在函数中使用指针和简单的指针算术。您还将证明数组名称是指针,同时进行指针算术,并创建可接受和修改数组的函数。 - 第二周:多维数组:到第二周结束时,您将能够使用数组符号和星号符号对指针进行解引用。您还将能够在数组中存储多个字符串并操作矩阵。 - 第三周:动态内存分配:到第三周结束时,您将能够区分堆栈和堆内存空间。您还将能够在堆中编程分配和释放数组所需的内存。 - 结束课程:课程总结部分。
Name:Welcome
Description:Let's start coding! You will get familiar with the leaning tools our team has developed to make learning code easier.
Name:Week 1: Memory and pointers
Description:By the end of Week 1, you will be able to both visualize the concept of a pointer in memory and use pointers in functions with simple pointer arithmetic. You will also demonstrate that an array name is a pointer performing pointer arithmetic and will create functions that accept and modify arrays.
Name:Week 2: Multidimensional arrays
Description:By the end of Week 2, you will be able to deference pointers using array notation and star notation. You will also be able to store multiple strings in an array and manipulate matrices.
Name:Week 3: Dynamic memory allocation
Description:By the end of Week 3, you will be able to distinguish between the stack and the heap memory spaces. You will also be able to allocate and deallocate memory programmatically in the heap for arrays.
Name:Concluding the course
Description:
In this course, we will examine a key concept, foundational to any programming language: the usage of memory. This course builds upon the basic concept of pointers, discussed in C Programming: Modular Programming and Memory Management, and introduces the more advanced usage of pointers and pointer arithmetic. Arrays of pointers and multidimensional arrays are addressed, and you will learn how to allocate memory for your own data during program execution. This is called dynamic memory allocation at runtime using pointers. Within moments you will be coding hands-on in a browser tool developed for this course, receiving instant feedback on your code. No need to install anything! Why learn C and not another programming language? Did you know that smartphones, your car’s navigation system, robots, drones, trains, and almost all electronic devices have some C-code running under the hood? C is used in any circumstance where speed and flexibility are important, such as in embedded systems or high-performance computing. In this course, you will also gain experience with programming concepts that are foundational to any programming language. At the end of this course, you will reach the fourth milestone in the C Programming with Linux Specialization, unlocking the door to a career in computer engineering. Your job Outlook: - Programmers, developers, engineers, managers, and related industries within scientific computing and data science; - Embedded systems such as transportation, utility networks, and aerospace; - Robotics industry and manufacturing; - IoT (Internet of Things) used in smart homes, automation, and wearables. - IEEE, the world’s largest technical professional organization for the advancement of technology, ranks C as third of the top programming languages of 2021 in demand by employers. (Source: IEEE Spectrum) This course has received financial support from the Patrick & Lina Drahi Foundation.