真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【C語(yǔ)言】初始指針(上)-創(chuàng)新互聯(lián)

【C語(yǔ)言】初始指針(上)
  • 1·什么是指針
        • 指針理解的3個(gè)要點(diǎn):
  • 2·指針和指針類型
        • 2.1 指針+-整型
        • 2.2 指針的解引用
  • 3·野指針
        • 3.1指針的成因
            • 1.指針未初始化
            • 2.指針越界訪問
            • 3.指針指向的空間釋放
        • 3.2如何規(guī)避野指針

專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來(lái)客戶和效益!成都創(chuàng)新互聯(lián)公司為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,網(wǎng)站制作、成都網(wǎng)站建設(shè)負(fù)責(zé)任的成都網(wǎng)站制作公司!1·什么是指針 指針理解的3個(gè)要點(diǎn):

1.指針式內(nèi)存中一個(gè)最小單元的編號(hào),也就是地址
2.平時(shí)口語(yǔ)中說(shuō)的指針,通常指的是指針變量,是用來(lái)存放內(nèi)存地址的變量
3.指針的大小在32位平臺(tái)是4個(gè)字節(jié);在64位平臺(tái)是8個(gè)字節(jié)
總結(jié):指針就是地址,口語(yǔ)中說(shuō)的指針通常指的是指針變量。

2·指針和指針類型

接下來(lái)我們說(shuō)一下指針的類型
我們都知道,變量有不同的類型:整型,浮點(diǎn)型等。那指針有沒有類型呢?
準(zhǔn)確的說(shuō):有的。

2.1 指針±整型

我們都知道一個(gè)int類型占用4個(gè)字節(jié),而一個(gè)char類型占用1一字節(jié),指針的類型就決定了指針向前或向后的距離(也就是走一步的大?。?。

在這里我們可以從內(nèi)存中清晰的看到,地址變化的大小,這就是指針類型的意義之一。

2.2 指針的解引用

上邊說(shuō)了指針其實(shí)就是變量的地址,而指針的解引用操作就是找到指針?biāo)傅倪@個(gè)變量,對(duì)其進(jìn)行重新賦值等操作。
在這里插入圖片描述
在這個(gè)圖中我們可以看到,int類型的指針可以正常的把值修改成我們想要的結(jié)果;而char類型卻不行(在這里,因?yàn)閏har是一個(gè)字節(jié),所以在內(nèi)存中只能一個(gè)字節(jié)一個(gè)字節(jié)的修改我們變量,而我們的arr2數(shù)組卻是int類型,四個(gè)字節(jié)位一組,所以其只能修改10個(gè)字節(jié)的內(nèi)存,結(jié)果也就不是我們想要的了),這就是指針類型的另一個(gè)意義。
總結(jié):
指針的類型決定了,對(duì)指針進(jìn)行解引用操作時(shí),有多大的權(quán)限(能操作幾個(gè)字節(jié))。

3·野指針

概念:野指針就是指針指向的位置是不可知的,隨機(jī)的

3.1指針的成因 1.指針未初始化
int main()
{int a = 10;
	int* p;
	*p = &a;
	return 0;

}

大多數(shù)編程小白經(jīng)常會(huì)這樣寫代碼,其實(shí)這個(gè)代碼是有問題的,其問題在于,一開始未進(jìn)行初始化,所以指針?biāo)赶虻膬?nèi)存就是未知的,后續(xù)進(jìn)行的賦值操作,也就未知的內(nèi)存中進(jìn)行修改,這可能導(dǎo)致程序奔潰。所以,我們要盡可能避開這種寫法。
這里推薦一種寫法:

int main()
{int a = 10;
	int* p = NULL;
	//NULL - 相當(dāng)于\0 
	*p = &a;
	return 0;

}
2.指針越界訪問

在這里插入圖片描述
在這里我們就能看見,指針解引用操作已超過(guò)數(shù)組的大小,在編譯器中會(huì)報(bào)錯(cuò)的,并且我們也不知道后續(xù)的指針知道了那兒里。

3.指針指向的空間釋放

這里放在后續(xù)的時(shí)候講解,這里就簡(jiǎn)單提示一下。

3.2如何規(guī)避野指針
  1. 指針初始化
  2. 小心指針越界
  3. 指針只想空間釋放,及時(shí)置NUL
  4. 避免返回局部變量的地址
  5. 指針使用之前檢查有效性
int main()
{int* p = NULL;
	//....
	int a = 10;
	p = &a;
	if (p != NULL)//檢查指針有效性
	{*p = 20;
	}
	return 0;
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前文章:【C語(yǔ)言】初始指針(上)-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://weahome.cn/article/iccpo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部