1.指針變量
若有一個變量專門用來存放另一個變量的地址,那麼就稱它為“指針變量”。也就是說,指針變量裡面存放的是指針,即地址。
2.指針和指針變量的區別
大家一定要區分“指針”和“指針變量”這兩個概念。指針是一個地址,而指針變量是存放地址的變量。習慣上我們也將“指針變量”簡稱為“指針”,但大家心裡一定要明白這兩個指針的區別。一個是真正的指針,它的本質是地址;而另一個是指針變量的簡稱。 為了表示指針變量和它所指向的變量之間的聯繫,在程序中用“*”表示“指向”。如果定義變量 i 為指針變量,那麼 *i 就表示指針變量i裡面存放的地址所指向的存儲單元裡面的數據。
3.指針變量的定義(示例):
int *p;//定義了一個整型指針,可以存放整型數據的地址
int a=3;
p=&a;(p就了存放a的地址,也就是說p指向了a,*p就等於3)
char*p="abcdef";//字符指針,p存放的是第一個字符(a)的地址,*p==a;
int a1[10];//整型數組,a1是一個數組,存放整型(int)數據
int *p1=a1;//數組指針,p1是一個指針,存放整型數據的地址
int *a2[10];//指針數組,a2是一個數組,存放的是整型指針(int*)數據
int (*p2)[10];//數組指針,p2是一個指針,存放的是存放10個整型數據的數組的地址
4.函數示例:
#include <stdio.h>
int main(){
int a = 15;
int *p = &a;
printf("%d, %d\\n", a, *p); //兩種方式都可以輸出a的值
return 0;
}
閱讀更多 單片機電子電路DIY 的文章