C語言及OC語言初期學習心得

來源:互聯網
上載者:User

標籤:學習心得   基礎知識   程式設計語言   c語言   優缺點   



2015-7-22,周三

經過一個星期C語言的學習,對基礎知識文法已經有了一定的瞭解和認識。同時通過這三天對OC語言的學習,更加瞭解程式設計語言都是相融相通的。雖然 OC語言的文法和之前接觸的C,JAVA有很大的區別,但是在講師的解析和引導下,還是比較容易接受的。

學習知識的過程不僅僅是對知識的認識,簡單的認識是遠遠不夠的。為了今後更好的開發,要對學過的知識加以理解、辨析,通過代碼去實現,加深認知。 

以下是我在這段時間在學習的心得和總結。

一、數組的四種遍曆方法:

     根本兩種方法

     ·1)指標

     ·2)數組遊標

     具體實現如下,21~24 ,共四種

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/F8/wKiom1Wu4qniZOKbAADtBRsvZR0727.jpg" style="float:none;" title="1.png" alt="wKiom1Wu4qniZOKbAADtBRsvZR0727.jpg" />

二、函數指標

強調“指標”的作用

三、自增自減 和 指標 組合使用

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/F5/wKioL1Wu5I3hVVqjAADUvmmv_XY382.jpg" title="2.png" style="float:none;" alt="wKioL1Wu5I3hVVqjAADUvmmv_XY382.jpg" />

列印結果

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/F8/wKiom1Wu4qqA2cZnAAA-AzMtSog246.jpg" title="3.png" style="float:none;" alt="wKiom1Wu4qqA2cZnAAA-AzMtSog246.jpg" />

【重點】延伸

·1)自增、自減 和 指標 的組合使用

·2)關於 數組a 的地址

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/F5/wKioL1Wu5I2hBuseAAFWfvL1eJg170.jpg" title="4.png" style="float:none;" alt="wKioL1Wu5I2hBuseAAFWfvL1eJg170.jpg" />

四、數組 和 鏈表

數組的優缺點:

     ·優點:數組是連續的,尋找起來快捷方便

     ·缺點:數組的插入和刪除十分麻煩

鏈表的優缺點:

     鏈表每個節點儲存兩個數組,一個是儲存的資料,另一個是下一跳的目標地址

     ·優點:鏈表插入和刪除方便

     ·缺點:遍曆效率相對數組低

五、關於數組地址 +1

例如,對 &a + 1 相當於 對  a 的地址上 + ( sizeof(a) * sizeof(int) )  —> +( 6 * 4)

          即對 a 的地址加上一個 數組a 所佔用的空間長度

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/F5/wKioL1Wu5I6wFfG-AADVJhnD228478.jpg" title="5.png" style="float:none;" alt="wKioL1Wu5I6wFfG-AADVJhnD228478.jpg" />



零、結構體、枚舉

一、範圍 —【 { } 】

     即 { } 

     名字的 範圍 是指 在程式中可以使用該名字的部分

     簡而言之:在 { } 內聲明的通常只能在 { } 內使用。

     (若在其他地方用 extern 再次聲明也可使用)

二、各種 變數 的特點和區別

1.自動變數 —【auto】

2.靜態變數 — 【static】

     靜態變數,保留上一次值。

     靜態變數的生命週期和引用程式綁定。

     靜態變數寫在函數內或者函數外,他的生命週期並沒有受到範圍的限制。

     如果卸載函數的外面,其他的函數也可以使用這個變數。如果寫在函數裡面,只能在對應的函數中使用

     儲存地區: 靜態儲存區。

3.局部變數

4.全域變數

     全域變數可以多次聲明(用extern),表示同一個變數,但是不能多次定義

5.靜態全域變數 

     

三、結構體 — 【struct】

1.概念

     定義一個結構體,只是說明了該類型的組成情況,並沒有給它分配儲存空間

     結構體佔用的記憶體空間是其成員所佔記憶體之和,而且各成員在記憶體中按定義的順序依次排列

2.定義

     1)定義方式【3種】

     【易錯】·定義的類型名,首字母必須大寫

                   ·結構體{ };大括弧結尾必須有 “ ; ” 


     2)嵌套定義,但是不能對自身進行遞迴調用


3.初始化 及 使用

     不可用 42 行的方式進行初始化(注意區別數組的初始化)

     “ . ” 是運算子

四、結構體指標

1.因為每個結構體變數都有自己的儲存空間和地址,因此指標可以指向結構體變數

2.結構體指標使用的方式【3種】

【重點】第三種方式 — 26行

          printf(“name is %s\n”, p -> name);



五、枚舉 — 【enum】

1.枚舉就是用來定義一系列類型的

2.枚舉值其實就是數值,枚舉值預設是從 0 開始的,然後依次在上一個值的基礎上累加

3.定義方式【3種】

     參照結構體的 3 種定義方式(類似)


六、typedef 

1.使用 typedef 關鍵字為各種已知資料類型定義一個新的名字(別名)

【易錯】首字母必須大寫


【易錯】

1.定義結構體的結尾必須加 ;

2.結構體,枚舉  字母必須大寫

3. typedef  和 define 之間的區別



OC語言

二、OC 和 C 的一些區別

1.匯入標頭檔

  ·C:  使用  #include <stdio.h> 匯入標頭檔

  ·OC: 使用  #import <Foundation/Foundation.h> 匯入標頭檔

     其中 Foundation 中包含 C 的標頭檔

2.字串

  ·在OC中使用%@格式化,列印一個字串對象


三、類和對象的區別

類是對象的類型

不同於 int 等基本類型, 類這種類型具有方法



四、屬性聲明【3種】

1)public: 公用的,所有類都可以使用

2)protected: 受保護的,定義的類及其子類可以使用

3)private: 私人的,只能在定義的類中使用


五、定義類的步驟

1)定義類名

2)編寫類的屬性—> 執行個體變數

3)編寫類的方法—> 方法





------------------------------------------------------------------------------

     

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/F9/wKiom1Wu5QDjhT0fAAFkegUFedM168.jpg" style="float:none;" title="無限互聯01.png" alt="wKiom1Wu5QDjhT0fAAFkegUFedM168.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6F/F5/wKioL1Wu5uTgxlshAAIDGIYvG4E889.jpg" style="float:none;" title="無限互聯02.jpg" alt="wKioL1Wu5uTgxlshAAIDGIYvG4E889.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/F5/wKioL1Wu5uTA422GAABxXfkwOoA055.jpg" style="float:none;" title="無限互聯03.jpg" alt="wKioL1Wu5uTA422GAABxXfkwOoA055.jpg" />


C語言及OC語言初期學習心得

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.