---------------------- ios培訓.期待與您交流! ----------------------
一、預處理指令:在將**翻譯成01之前執行的命令
1.預處理指令都是以#開頭
2.預處理指令位置可以隨便寫
3.預處理指令的作用域,從編寫指令的那一行到檔案結束
4.預處理指令包括3種:
4.1 巨集定義: 只是將**替換,並不會計算
無引數的巨集定義:#define 巨集名(大寫) 值:將巨集名替換成值
帶引數的巨集定義:#define 巨集名(引數) (引數) 文字替換
注意:帶引數的巨集定義要將引數和結果都加上括號
#undef 巨集名 結束巨集定義
4.2條件編譯:有條件的編譯**,一般參與判斷的是巨集
#if#elif
#else
#endif 如果endif不加,else後面的**全部不被編譯,包括大括號
#if defined a 等價於 #ifdef a 如果定義了巨集a
#if !denfined a 等價於 #ifndef a 如果沒有定義巨集a
4.3檔案包含
#include 《系統自帶》 "自定義"
防止重複的包含複製:
#ifndef ***_h 巨集名為標頭檔案的檔名
#define ***_h
函式宣告
。。。。
。。。。
#endif
二、typedef :給型別取新的型別名稱,一般用於比較複雜的型別名,比如結構體,列舉型別,指標型別
typedef struct person
sperson; 定義了乙個結構體型別person,並且取新名稱
sperson。
typedef enum ***
m***; 定義了乙個列舉型別***,取新名稱為m***
三、extern和static:
針對函式:
extern定義和宣告外部函式:預設都是外部函式,所以可以省略,同乙個專案,不同檔案的函式不可重名
static定義和宣告內部函式:不能直接呼叫,不能省略。不同檔案的內部函式可以重名
針對變數:
全域性變數:
1.外部變數:全域性變數預設都是外部變數,不同檔案重複定義乙個重名的變數都是同乙個變數。
2.內部變數:只能本檔案中訪問,不同檔案的同名變數,不是同乙個變數
extern:宣告乙個外部變數,不可省略
static:定義乙個內部變數
區域性變數:
static修飾區域性變數唯一的作用就是改變區域性變數的生命週期,直到程式結束才會被釋放。但是不會改變區域性變數的作用域。如果函式內部的區域性變數,那麼呼叫這個函式n次,所有呼叫的函式都共享這個變數。
四、遞迴:函式自己呼叫自己,必須有乙個明確的返回值
黑馬程式設計師 iso入門基礎學習 C語言day5
ios培訓.期待與您交流!int p 定義了乙個指標變數p 只能儲存int型別的資料的位址 p a 將a的記憶體位址賦值給p p 10 根據指標p儲存的記憶體位址,訪問資料,賦值為10。相當於a 10。int p a ok int 相當於指標p的型別 p a no 如果要指向指標 int pp p ...
黑馬程式設計師 c 基礎
windows phone 7手機開發 net培訓 期待與您交流!變數 變數本身被用來儲存特定型別的資料,可以根據需要隨時改變變數中所儲存的資料值。變數具有名稱,型別和值。變數代表著一塊記憶體空間,我們可以通過變數名稱向記憶體存 取資料,有變數就不需要記憶複雜的記憶體位址。資料型別 變數名 命名規範...
黑馬程式設計師 學習C 基礎2
windows phone 7手機開發 net培訓 期待與您交流!從29號開始近3天以來的學習筆記 7月29號 1 for迴圈 格式 for 初始條件 判斷條件 用來改變條件 三個語句執行順序 第乙個 判斷一下 執行 裡邊的語句 在回過來執行i for 迴圈 三部分都可以省略 2 型別 轉換 格式 ...