嵌入式学习:指针、数组与函数解析

需积分: 15 3 下载量 184 浏览量 更新于2024-09-09 收藏 517KB DOCX 举报
"嵌入式实习-day3-指针与函数" 在嵌入式系统开发中,理解和掌握指针与函数是至关重要的。本资源主要涵盖了三个核心概念:指针、指针与数组以及函数,这些都是C语言编程的基础,对于物联网工程专业的学生来说尤其重要。 1. 指针 指针在C语言中扮演着关键角色,它是一个存储内存地址的变量。内存的基本单元是字节,每个字节都有一个唯一的地址。指针变量用于存储这些地址,以便我们可以通过指针间接访问或修改内存中的数据。定义指针变量通常使用`数据类型*变量名`的方式,如`int *p`。`*`是解引用运算符,用来获取指针所指向的变量的值。指针还可以进行算术运算,如`p+n`表示从p开始向地址增大的方向移动n个数据的地址,但这些运算通常只在处理连续内存空间时有意义。指针还有特殊值NULL,表示未指向任何对象,通常用于初始化未使用的指针。 2. 指针与数组 数组和指针之间的关系紧密。当我们将数组名赋值给指针时,指针会指向数组的第一个元素。例如,`int a[10]`和`int *p = a`后,`p`指向数组a的第一个元素。二级指针可以用来存储指向指针的指针,例如`int **pp`可以用来访问一级指针`p`指向的变量`a`。 3. 函数 函数是可重复使用的一段代码,实现了特定功能。它们分为库函数(如标准库提供的函数)和自定义函数。函数的定义格式为`数据类型 函数名(数据类型 形参1,数据类型 形参2,...)`。调用函数时,需要提供对应的实参,实参的类型和数量必须与形参匹配。函数可以有返回值,也可以没有。函数声明用于告诉编译器函数的存在和签名,如果函数在`main`函数之前定义,声明通常是可选的。另外,函数指针是一个指向函数的指针,而指针函数则是一个返回值为指针的函数,如`void*malloc(size_t size)`,它用于动态分配内存。 在实习过程中,学生需要通过编写代码来巩固这些概念,例如实现两个变量值的交换,使用指针计算字符串中空格的数量,以及计算字符串的长度。这些练习有助于深化对指针和函数的理解,提高实际编程能力。