溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

指針和數(shù)組

發(fā)布時(shí)間:2020-06-30 09:32:27 來(lái)源:網(wǎng)絡(luò) 閱讀:476 作者:少年不在了 欄目:編程語(yǔ)言

指針:
 指針在本質(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é)

指針和數(shù)組

傳值調(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ù)組的大?。簲?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ù)組
 數(shù)組的訪(fǎng)問(wèn)形式:

指針和數(shù)組
 數(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ì)比:

指針和數(shù)組

C語(yǔ)言中的字符串:
指針和數(shù)組
指針數(shù)組和數(shù)組指針?lè)治觯?/strong>
 定義數(shù)組類(lèi)型:

指針和數(shù)組

指針和數(shù)組

 main函數(shù)的參數(shù):
  main函數(shù)可以理解為操作系統(tǒng)調(diào)用的函數(shù);在執(zhí)行程序的時(shí)候可以向main函數(shù)傳遞參數(shù)

指針和數(shù)組
多維數(shù)組和多維指針:
 指向指針的指針:
  指針變量在內(nèi)存中會(huì)占用一定的空間;可以定義指針來(lái)保存指針變量的地址值

 二維數(shù)組與二級(jí)指針:

指針和數(shù)組
數(shù)組參數(shù)和指針參數(shù)分析:
 C語(yǔ)言中的數(shù)組參數(shù)會(huì)退化為指針:
 二維數(shù)組參數(shù):

指針和數(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>
指針和數(shù)組

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI