[C]筆記:指針

我們知道 , Android系統(tǒng)是基于linux開(kāi)發(fā) , 采用的是linux內(nèi)核 , Android APP開(kāi)發(fā)大部分也要和系統(tǒng)打交道 , 只是Android FrameWork 幫我們屏蔽了系統(tǒng)操作 , 我們從Android 系統(tǒng)的分成結(jié)構(gòu)可以看出 , Android FrameWork是通過(guò)JNI與底層的C/C++庫(kù)交互 , 例如:FreeType ,OpenGL ,SQLite , 音視頻等等
'


Paste_Image.png

做Android為什么需要學(xué)習(xí)C/C++ ?

  1. 企業(yè)需要 , 現(xiàn)在大部分招聘 , 基本上都會(huì)要求會(huì)JNI
  2. 進(jìn)階需要 , 如果想要研究Android源碼 , 那么不會(huì)C/C++ , 行不通
  3. 音視頻時(shí)代到來(lái) (直播) , 音視頻處理 , 很大部分都需要C/C++完成(音視頻編解碼)
    那么下面就一起開(kāi)始學(xué)習(xí)C吧 ! let's go

不同的操作系統(tǒng) , 變量的大小可能不一樣 。

    C 語(yǔ)言的基本數(shù)據(jù)類型 , 輸出占位符

    int - %d 
    short - %d 
    long - %ld 
    float - %f 
    double - %lf 
    char - %c
    字符串 - %s
    八進(jìn)制 - %o
    十六進(jìn)制 - %x
Paste_Image.png

指針變量就是用來(lái)操作內(nèi)存空間的 , 當(dāng)然也可以作為變量存儲(chǔ) , 例如int *p = 100 ; printf("指針變量的值:%d\n",p)這樣指針變量p就會(huì)輸出100 。

printf("這樣也可以獲取到數(shù)組的地址:%#x\n", arr);

雖然float和int類型都是四字節(jié)的 , 但是int 和 float的存儲(chǔ)方式不一樣 , 所有指針運(yùn)算會(huì)出現(xiàn)不一樣 。

二級(jí)指針 , 就是指針的指針 , 二級(jí)指針的內(nèi)存空間中 , 存儲(chǔ)的是一級(jí)指針的內(nèi)存地址

    int i = 10;
    // p指針變量存儲(chǔ)的是i的內(nèi)存地址
    int* p = &i;
    // p1指針變量存儲(chǔ)的是p的內(nèi)存地址
    int** p1 = &p;
Paste_Image.png

指針是操作內(nèi)存的神器 , 多級(jí)指針 , 只要記住 , 多級(jí)指針里面存儲(chǔ)的是上級(jí)指針的地址即可 。

函數(shù)指針存儲(chǔ)的是函數(shù)的內(nèi)存地址

// windows 彈出框頭文件
#include <Windows.h>

/*函數(shù)*/
void message() {
    MessageBox(NULL, "我是彈出框", "消息", NULL);
}

void main() {

    // 函數(shù)指針定義 , 返回值(函數(shù)指針名稱)(函數(shù)參數(shù)) = 函數(shù)名稱
    void(*func_p)() = &message;

    // 調(diào)用函數(shù)指針
    func_p();

    printf("函數(shù)指針地址:%#x\n", func_p);

      getchar();
}

有了我們的函數(shù)指針 , 我們可以做很多事情 , 下面我們來(lái)看一個(gè)簡(jiǎn)單的示例:

int add(int num1, int num2) {

    return num1 + num2;
}

int minus(int num1, int num2) {

    return num1 - num2;
}

// 將函數(shù)指針直接定義到函數(shù)形參中 , 類似java中的多態(tài)
// 我們可以函數(shù)指針作為函數(shù)參數(shù)傳入
void showMsg(int(*c)(int num1, int num2), int a, int b) {
        int r = c(a, b);
        printf("計(jì)算完成=%d\n", r);
}

void main() {

    showMsg(add, 10, 10);

    showMsg(minus, 30, 2);
}

getchar();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,786評(píng)論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,656評(píng)論 3 419
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,697評(píng)論 0 379
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,098評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,855評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,254評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,322評(píng)論 3 442
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,473評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,014評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,833評(píng)論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,016評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,568評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,273評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,680評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,946評(píng)論 1 288
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,730評(píng)論 3 393
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,006評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,666評(píng)論 25 708
  • 指針是C語(yǔ)言中廣泛使用的一種數(shù)據(jù)類型。 運(yùn)用指針編程是C語(yǔ)言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,464評(píng)論 3 44
  • 01 7月中旬,跟閨蜜味精相約去西峽游玩,幾年不見(jiàn),我們彼此都有很多話要說(shuō)。 第一天晚上,我看本書(shū)后,準(zhǔn)備睡覺(jué),估...
    溫暖的九姑娘閱讀 298評(píng)論 5 5
  • 哄小轟閱讀 241評(píng)論 0 0
  • 這兩天看了下《海上鋼琴師》,三個(gè)半小時(shí)的時(shí)常,確實(shí)一個(gè)很簡(jiǎn)單的故事,甚至幾乎所有的鏡頭都出現(xiàn)在那條船上,但給人的感...
    處處1閱讀 393評(píng)論 0 4