c语言-指针的本质和使用
指針的本質(zhì)和使用
一、地址概念
我們首先來看看地址 是個(gè)什么概念
每一個(gè)變量都有一個(gè)內(nèi)存位置,每一個(gè)內(nèi)存位置都定義了可使用 & 運(yùn)算符訪問的地址,它表示了在內(nèi)存中的一個(gè)地址。
畫圖簡單說明:
二、 什么是指針?
指針也就是內(nèi)存地址,指針變量是用來存放內(nèi)存地址的變量。就像其他變量或常量一樣,您必須在使用指針存儲(chǔ)其他變量地址之前,對(duì)其進(jìn)行聲明。
int a=3;
int *pa=&a;
畫圖簡單說明:
?
?
?
指向一個(gè)變量
2.1 指針變量聲明的一般形式
指針類型 *變量名
關(guān)鍵 " * " 符號(hào)
int *pa;
float *pf;
BOOL *pb;
?
2.2 指針的定義和申明
int *pa; //定義
extern int *pa;//申明 和變量一樣的用法
三、指針的運(yùn)用
3.1 指針的讀(訪問)-寫
1.指向一個(gè)變量的地址
int a=1;
int pa=&a;
3.2 訪問(讀)這個(gè)指針變量指向的地址里面的值
使用 這個(gè)符號(hào) ,可不是乘號(hào)哦,只是和乘號(hào)一個(gè)符號(hào)而已 ,含義用法可別混淆了.
int c=pa;//取pa指針變量指向的地址中的值 賦值給變量c
3.3 修改(寫)這個(gè)指針變量指向的地址里面的值
同樣使用 這個(gè)符號(hào)
*pa=5;
printf("%d",*pa);
四、空指針的介紹和運(yùn)用
上面我們?cè)诙x指針的時(shí)候 沒有給指針初始化
因?yàn)槲覀冊(cè)谥v常量和變量的時(shí)候 就提及過 一定要養(yǎng)成給變量初始化的習(xí)慣,所以?
我們?cè)趺唇o指針初始化呢?
這就要用到之前見過的 NULL,其實(shí)這個(gè)就是等于0.
用在指針變量的初始化,就說明指針指向的一個(gè)空地址也就是說什么也不指向.
這個(gè)對(duì)于后面我們判斷這個(gè)指針變量是否指向了有效地址,尤其重要 切記!!!
在變量聲明的時(shí)候,如果沒有確切的地址可以賦值,為指針變量賦一個(gè)NULL值是一個(gè)良好的編程習(xí)慣.
賦為 NULL 值的指針被稱為空指針.
NULL 指針是一個(gè)定義在標(biāo)準(zhǔn)庫中的值為零的常量.
int *pa=NULL;
五、看圖聯(lián)想
原文鏈接:https://blog.csdn.net/F_Heart/article/details/122759025
?
總結(jié)
以上是生活随笔為你收集整理的c语言-指针的本质和使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 安装 Redis (Red
- 下一篇: 解决:bash: vim: comman