前言
歡迎來到我的博客
個人主頁:北嶺敲鍵盤的荒漠貓-CSDN博客
本文整理c語言中指針的相關知識點。
?指針概念
指針存儲的就是數據的地址。
直觀理解:
李華家是北洋路130號1單元101
用變量處理數據:
我們去李華家拿數據。
用指針處理數據:
我們去北洋路130號1單元101拿數據。
本質上他們都是一樣的數據,不過就是不同的叫法罷了。
指針變量的定義
我們可以用以下形式進行定義。
這三種形式其實選一個就可以,都是定義p指針。
當然這是在devc環境中的,在vscode中的話他會統一幫你整理成為。
但其實是都可以。
取、解指針符號與指針綁定
取址符號&
符號&的作用是獲取變量的地址。
#include <stdio.h>int main()
{int a = 5;printf("%d\n", a);printf("%d", &a);
}
加上這個符號后其實就是取的是這個變量的地址。
指針綁定
我們上面都是定義了這個指針,但是他像是沒有初始化的變量一樣。
這時我們需要給指針綁定一個變量的地址。
讓程序知道,這個地址是李華家的地址。
#include <stdio.h>int main()
{int a = 5;int *p;p = &a;printf("%d\n", &a);printf("%d\n", p);
}
通過上述方法就可以讓程序知道我們這個指針p指向的就是a變量的地址了。
解址符號*
沒錯,解址符號還是他。
&是取址,*是解址,也就是說,&可以跟*相互抵消。
#include <stdio.h>int main()
{int a = 5;int *p;p = &a;printf("%d\n", *p);
}
上面那個案例中,我們用*就可以看到p指針對應的a地址中的值了。
數組指針
我們定義數組本來就是一個地址。
我們對這個數組指針進行解指針的時候,他實際上就是數組的第一個數據。
那么我們想要獲取下一個數據的話,就可以使用指針的加減操作。
也可以專門定義一個數組,來存儲指針指向的索引,然后對這個指針進行修改。