您好,登錄后才能下訂單哦!
指針:
指針在本質(zhì)上是一個(gè)變量;指針需要占用一定的內(nèi)存空間;指針用于保存內(nèi)存地址的值
*號(hào)的意義:
在指針聲明時(shí),*號(hào)表示所聲明的變量為指針;
在指針使用時(shí),*號(hào)表示取指針?biāo)赶虻膬?nèi)存空間中的值 ;
char *p <==> (char *)p //前面的數(shù)據(jù)類(lèi)型是修飾指針指向的空間大小,在32位機(jī)器中,指針大小為4字節(jié)
傳值調(diào)用與傳址調(diào)用:
指針是變量,因此可以聲明指針參數(shù)
當(dāng)一個(gè)函數(shù)體內(nèi)部需要改變實(shí)參的值,則需要使用指針參數(shù)
函數(shù)調(diào)用時(shí)實(shí)參值將復(fù)制到形參
指針適用于復(fù)雜數(shù)據(jù)類(lèi)型作為參數(shù)的函數(shù)中
數(shù)組:
相同類(lèi)型的變量的有序集合
數(shù)組的大?。簲?shù)組在一片連續(xù)的內(nèi)存空間中存儲(chǔ)元素,數(shù)組元素的個(gè)數(shù)可以顯示或隱式指定
Int a[5] = {1,2};
Int b[] = {1,2};
數(shù)組地址與數(shù)組名:
數(shù)組名代表數(shù)組首元素的地址(a);
數(shù)組的地址需要用取地址符&才能得到(&a);
數(shù)組首元素的地址值與數(shù)組的地址值相同
數(shù)組首元素的地址與數(shù)組的地址是兩個(gè)不同的概念
數(shù)組名的盲點(diǎn):
數(shù)組名可以看做一個(gè)常量指針;
數(shù)組名“指向”的是內(nèi)存中數(shù)組首元素的起始位置;
在表達(dá)式中數(shù)組名只能作為右值使用下
下列場(chǎng)合中數(shù)組名不能看做常量指針:
數(shù)組名作為sizeof操作符的參數(shù);數(shù)組名作為&運(yùn)算符的參數(shù)
變量 | 含義 |
---|---|
a | a為數(shù)組首元素的地址;a + 1 <==>(unsigned int)a + sizeof(*a) |
&a | &a為整個(gè)數(shù)組的地址; &a + 1 <==>(unsigned int)(&a) + sizeof(*&a) |
數(shù)組與指針?lè)治?:
數(shù)組的本質(zhì):
數(shù)組是一段連續(xù)的內(nèi)存空間;
空間大小為sizeof(array_type)* array_size;
數(shù)組名可看做指向數(shù)組第一個(gè)元素的常量指針
指針的運(yùn)算 :
數(shù)組的訪(fǎng)問(wèn)形式:
數(shù)組參數(shù):
數(shù)組作為函數(shù)參數(shù)時(shí),編譯器將其編譯成對(duì)應(yīng)的指針;
一般情況下,當(dāng)定義的函數(shù)中有數(shù)組參數(shù)時(shí),需要定義另一個(gè)參數(shù)來(lái)標(biāo)示數(shù)組的大小
void f(int a[]); ==>void f(int* a);
void f(int a[5]); ==>void f(int* a);
指針和數(shù)組的對(duì)比:
C語(yǔ)言中的字符串:
指針數(shù)組和數(shù)組指針?lè)治觯?/strong>
定義數(shù)組類(lèi)型:
main函數(shù)的參數(shù):
main函數(shù)可以理解為操作系統(tǒng)調(diào)用的函數(shù);在執(zhí)行程序的時(shí)候可以向main函數(shù)傳遞參數(shù)
多維數(shù)組和多維指針:
指向指針的指針:
指針變量在內(nèi)存中會(huì)占用一定的空間;可以定義指針來(lái)保存指針變量的地址值
二維數(shù)組與二級(jí)指針:
數(shù)組參數(shù)和指針參數(shù)分析:
C語(yǔ)言中的數(shù)組參數(shù)會(huì)退化為指針:
二維數(shù)組參數(shù):
c語(yǔ)言中無(wú)法向一個(gè)函數(shù)傳遞任意的多維數(shù)組;
為了提供正確的指針運(yùn)算,必須提供除第一維之外的所有維長(zhǎng)度限制:
一維數(shù)組參數(shù) – 必須提供一個(gè)標(biāo)示數(shù)組結(jié)束位置的長(zhǎng)度信息
二維數(shù)組參數(shù) – 不能直接傳遞給函數(shù)
三維或更多維數(shù)組參數(shù) – 無(wú)法使用
函數(shù)與指針?lè)治觯?/strong>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。