深入理解C语言中的指针、数组和结构体
1. 指针
指针是C语言中一个非常强大且灵活的特性,它们本质上是直接的内存引用或地址。在C语言中,指针是一个其值为地址的变量。指针允许C程序完全控制数据类型、数据值和数据访问,并且对工程师来说非常重要,因为它们允许函数间接访问变量,并构成下标或数组变量表示的基础。
指针的声明
要声明一个指针变量,我们使用一元指针操作符(*)在声明中的变量名前面。指针对类型敏感,因为类型决定了变量在字节数方面的大小。要声明一个指向整数的指针变量,我们会使用以下声明:
int *pk;
变量 pk
被称为整型指针。现在我们想要将某个整型变量的地址赋给变量 pk
,因为指针的值被解释为地址。为此我们可以使用一元地址操作符(&)。假设我们有一个整型变量 k
,那么我们可以使用以下赋值将 k
的地址赋给指针变量 pk
:
pk = &k;
指针的使用示例
考虑以下程序,其中我们声明了两个变量 k
和 pk
,分别为整型和指向整型的指针。我们还为 k
和 pk
赋了值: k
的值为10, pk