C語言基礎總結 含指標)

2021-09-02 10:45:17 字數 2323 閱讀 8186

c語言作為入門語言,開啟了我的網際網路的大門,學習的各個科目,使用過不同語言,但總的來說還是c使用頻率最高。

故花兩天時間溫習一下譚浩強的書。

從新整理一些零碎的知識。

位元組=byte=b=8bit

位=bit=b

|| 或

&& 與

! 非d、i:

以帶符號的十進位制輸出整數以帶符號的十進位制輸出整數

c:

以字元形式輸出,只輸出乙個字元。以字元形式輸出,只輸出乙個字元。

s:

輸出字串

f:

以小數形式輸出,雙精度數

continue意為結束本次迴圈,進行下一次迴圈

break則為結束迴圈體,執行下乙個語句。

a&&b

如果a為假,則不執行b。

a||b

如果a為真,則不執行b

指標變數的定義及初始化:

如初始化乙個指標:

int *a=&m;

或者:int *a;

a=&m;

星號的出現,大部分指指標變數所指的值,但卻有特殊情況。

1.代表所指向的變數的值

a=&m;

printf("%d",*a);

此時*a就表示m的值

2.僅說明該變數為指標變數

int *a;
void swap(int *a,int *b)

在定義、函式形參定義這兩種情況下,此時int *a中的 *只是說明該變數為指標變數。

以前函式形參定義的時候總是迷糊,如

int max(int *a,int *b);

int *p1=&a,*p2=&b;

int c;

c=max(p1,p2);

以前會覺得函式swap的形參為指標所指向的值,導致呼叫的時候寫

c=max(*p1,*p2)
其實swap的形參只是指標,故呼叫的時候填入指標就行了。

函式定義時

void swap(int arr)和void swap(int *arr)等價

呼叫的時候

int a[10]=;

swap(a);

a代表a[0]的位址,故直接填入陣列名即可。此函式中對形參的操作會影響實參的值(見七)

3.多維陣列下的星號

int a[3][4]=,,};
a為二維陣列名,此時不再指代a[0][0]的位址,而是指代第一行的位址。

即a+1指代第二行的位址。

在一維陣列中,*(a+1)指a[1],而一維陣列中a[1]是陣列中的第二個值。

而二維陣列中,* (a+1) 指a[1],而二維陣列中a[1]不再代表乙個值,而是代表位址,故*(a+1)不再代表值,而是代表位址。

故多維陣列下,只有乙個*的情況下,代表位址,兩個*,代表值

即a[1]+2與*(a+1)+2與&a[1][2]等價

*(a[1]+2) 與*(*(a+1)+2)與 a[1][2]等價

1(不變).若

void swap(int c,int d);//交換c,d值

int a=1,b=2;

swap(a,b);

此時a,b的值並不會交換,可以理解為把實參a,b的值給了c和d,他兩怎麼造作是他兩的事,與a,b無關。

2(不變).若

int *point1=&a,*point2=&b;

swap(point1,point2);

void swap(int *p1,int*p2)

此時將point1和point2的指向位址交換了,故point1不再指向a,而是指向b,故a,b的值仍未改變,*point1的值卻變成了b的值。

3(變).若

int *point1=&a,*point2=&b;

swap(point1,point2);

void swap(int *p1,int *p2)

此時改變的是指標指向變數的值,即point1還是指向a,但a的值改變為原b的值了。

C語言基礎 指標基礎

最小儲存單位 bit 即 0 1 基本儲存單位 byte 1byte 8bit 注 計算機訪問的資料是byte位數定義變數 分配儲存空間 引用變數 通過變數名引用變數的內容即變數空間的首位址 為常量,即 變數名 專門儲存位址常量的變數型別 變數名所有指標變數均分配4byte的儲存空間 與其他變數相同...

C語言指標總結

2012 03 07 07 22 標籤 c語言 分類 pointer c語言中的精華是指標,這也是c語言中唯一的難點。c是對底層操作非常方便的語言,而底層操作中用到最多的就是指標,以後從事嵌入式開發的朋友們,指標將陪伴我們終身。1.指標型別分析 分析指標,可以從變數名處起,根據運算子優先順序結合,一...

C語言指標總結

c語言中的精華是指標,這也是c語言中唯一的難點。c是對底層操作非常方便的語言,而底層操作中用到最多的就是指標,以後從事嵌入式開發的朋友們,指標將陪伴我們終身。1.指標型別分析 分析指標,可以從變數名處起,根據運算子優先順序結合,一步一步分析.int p 這是乙個普通的整型變數 int p 首先從 p...