📅  最后修改于: 2023-12-03 15:13:47.091000             🧑  作者: Mango
指针是C语言的一大特色,C程序中难免会用到指针,因此我们有必要了解指针的基本知识。本文将介绍指针的定义、初始化、赋值、关系运算等基础问题。
指针是一个变量,其值为另一个变量的地址。通过指针,我们可以直接访问该地址的变量。指针的类型与其所指向的变量的类型相同。
指针的定义形式如下:
type *name;
其中,type为指针所指向的变量的类型,name为指针的变量名。例如,定义一个指向整型变量的指针可以写成:
int *p;
这里p是指向int型变量的指针。
指针变量在定义时并不自动指向某一个变量的地址,需要进行显式初始化。指针变量的初始化可以使用取地址运算符&,将变量的地址赋值给指针变量。
例如,定义一个指向整型变量a的指针p,并将其初始化为a的地址:
int a = 10;
int *p = &a;
此时,指针p指向变量a的地址。
指针变量可以被重新赋值,其值为另一个变量的地址。重新赋值后,指针将指向新的变量。
例如,将指针p重新赋值为指向另一个整型变量b的地址:
int b = 20;
p = &b;
此时,指针p指向变量b的地址。
指针变量还可以进行关系运算,包括等于、不等于、大于、小于、大于等于、小于等于等。关系运算的结果为布尔类型,即真或假。
例如,比较两个指针变量p和q所指向的地址是否相等:
int a = 10;
int *p = &a;
int *q = &a;
if(p == q){
printf("p and q point to the same address.\n");
}
else{
printf("p and q point to different addresses.\n");
}
运行结果为p and q point to the same address.。
本文介绍了指针的定义、初始化、赋值、关系运算等基础问题。理解了这些基础问题,才能更好地应用指针,并避免常见的指针错误。