C語言學習 第十次作業總結

2022-05-05 19:27:09 字數 2937 閱讀 3653

同學們終於學到最有意思的東西:指標了。有人說指標是c語言的靈魂。雖然有點誇大,但是事實的確是如此。很多的時候,使用指標,會讓過程變得簡潔和精巧。這個在以後同學們深入學習使用c語言進行程式設計的時候就可以理解了。

下面還是按照往常的樣子,進行本次知識點的總結:

// 宣告

int *pa; // 宣告乙個名為 p 的指標,需要注意的是,* 號本身僅僅表示 p 是乙個指標變數

int a;

// 定義 == 賦值

p = &a; // 將 p 的記憶體空間中的資料定義為 a 的位址

// 宣告且定義

int b;

int *pb = &b;

// 有乙個函式,引數是乙個指標

int *pa = &a;

int *pb = &b;

int func(int *a,int*b,int *c,int *d);

func(pa,pb,&a,&b); // 函式呼叫時傳入的實參

// 陣列和指標的關係

int a[10];

int *parr = a; // 陣列名就是陣列的位址,也是陣列元素 0 的位址

在 c 語言中,陣列和指標的界限並不明顯,比如在向函式傳參的時候,即使你寫成

int func(int a[3]){}	// 甚至這裡寫下了陣列的長度
但是實際上這裡編譯器會視作你傳遞進去int *a的指標,對於乙個指標而言,並不能有效的知道它的長度。這就是為什麼多數情況下看到的函式,一旦傳遞入乙個指標作為陣列的首位址,都會跟隨乙個int型別的數值作為長度。

指標,務必需要注意,一定要先初始化即定義/賦值後再使用,否則,編譯器無法知道你到底想要操作的是哪塊記憶體區域:

int *p;

*p = 0; // error

不過萬幸的是,大部分類似於這樣的錯誤,在執行的時候,都會出現非常明顯的錯誤。但是同學們依舊應該對此情況多多用心。

談到這裡,忽然想要跟大家聊聊野指標,可是忽然想到大家都還沒有學習過諸如malloc這樣的函式,那還是暫時作罷吧。不過類似上面的p就是乙個野指標(即它沒有指向乙個明確的記憶體區域)。

編號學號

cnblogs暱稱

**總結

附加題加權得分備註1

160809401

付胤50

8564

總結錯別字較多,**完成度低

2160809402

張博洋-100

-100

-100

總結不是總結,**不是**

3160809403

董宇豪90

6078

總結寫的過少,一些必要的點沒有寫到

4160809404

朱念齊-100

-100

-100

沒有寫5

160809405

蘆彥儒-100

-100

-100

沒有寫6

160809406

吳澤軒0

7160809407

leonardo#*

-100

-100

-100

8160809408

il.linker

100100

1009

160809409

gdcs16_409

9595

9510

160809410

無聲的夢

10040

11160809411

劉悅-100

-100

-100

12160809412

張磊90

3613

160809413

王洪燁110

90102

注意到檢查傳入函式的指標是否為空

14160809414

紀柏如110

44「說明符」這一概念很有意思

15160809415

閆墨傑110

100106

16160809416

史航110

95104

終於有人用強制型別轉換了

17160809417

狂歡90

-100

14沒有寫總結

18160809418

水母jam

-100

-100

-100

19160809419

朱鈺鋮-100

-100

-100

20160809420

虞小生60

9072

21160809421

飲冰少年1

100-100

2022

160809422023

160809423

李筱-100

-100

-100

24160809424

xzy!

6590

7525

160809425

剎那神華

-100

100-20

26160809426

zlt.santorini'ly

9595

95總結細緻

27160809427

江超民95

9093

28160809428

zxkai

95-100

1729

160809429

王鑫沐95

9595

30160809430

茉妍95

9595

31160809431

茉莉雨95

110101

第十次作業總結

實驗1.計算兩數的和與差 實驗2.利用指標找最大值 includeint main void findmax int px,int py,int pmax else pmax px 實驗3.拆分實數的整數與小數部分 一.知識點 1.位址和指標 在程式執行過程中,變數或者程式 被儲存在以位元組為單位組...

第十次作業

linux網路服務 osi七層模型 物理層 傳輸介質,組網 資料鏈路層 mac位址定址,資料成幀,資料檢測,重發apr 網路層 將網路位址轉化為實體地址,網路位址定址,路由 ip協議 傳輸層 提供端對端的資料交換,連線,埠 會話層 提供點對點的連線 表示層 資料格式化 應用層 應用程式,服務 tcp...

第十次作業

1.將以下文法消除左遞迴,分析符號串 i i i e e t t t t f f f e i 解 文法改寫 e te e te t ft t ft f e i first集 first e first e first t first t first f follow集 follow e follow...