指针在C语言中是一个非常重要的概念,C语言之所以灵活,很大一部分体现在程序中对指针的灵活运用。在单片机的程序书写当中,指针运用得当会使复杂的程序变得简单易懂,因此,善于使用指针,是学习单片机C语言中的一个难点部分。
1.指针定义
指针用于存放变量的地址,该地址是另一个变量在内存中存储的位置。指针本身也是一种变量,和其他变量一样,要占有一定数量的存储空间,用来存放指针值(即地址)。
指针定义一般形式为:
数据类型*指针变量名;
其中,数据类型:表示该指针变量所指向变量的类型。
指针变量名:定义指针变量的名字。
例如:
int*seong;指针变量seong是指向int类型变量的指针。
注意区分变量的指针和指针变量:变量的指针是变量的地址,而一个指针变量存放的内容是另一个变量在内存中的地址,拥有这个地址的变量为该指针变量所指向的变量。每一个变量都有自己的指针(称为地址),每一个指针变量指向另一个变量。
例如:整型变量x的地址50H存放在指针变量seong中,可用*seong表示指针变量seong指向的变量,即*seong表示变量x。
2.指针运算符&和*
指针变量中只能存放地址,基本的运算符是&和*。
1)&:表示取地址运算符,返回变量的内存地址。只能用于一个具体的变量或数组元素,不可用于表达式。
例如:(www.xing528.com)
int*m;
intn;
m=&n;
说明将整型变量n的地址赋值给指针变量m。
2)*:表示指针运算符,返回地址中的变量值。
例如:
int*m;//指针变量定义
intn;
intv;
m=&n;//&t中的&为取n的地址赋值给m。
v=*m;//将指针变量m指向的变量值赋给v。
在指针赋值时注意几点:
①指针使用之前,未初始化的指针变量不可以使用。
②赋值语句中,变量的地址只能赋给指针变量本身。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。