(一) C語言之基本數(shù)據(jù)類型_輸入輸出_指針

溫馨提示

寫博客是為了記錄在開發(fā)過程中所涉及到的技術(shù)以及遇到的問題的解決,如果該博客對您有所幫助蒲肋,希望可以點(diǎn)個(gè)關(guān)注/喜歡;如果您對文章中的內(nèi)容有什么不同的見解,歡迎留言進(jìn)行討論奋早。謝謝!

(一) C語言之基本數(shù)據(jù)類型輸入輸出指針

一赠橙、基本數(shù)據(jù)類型

1耽装、頭文件

引入頭文件,在頭文件中只有函數(shù)的聲明,在編譯的時(shí)候會去找到函數(shù)的實(shí)現(xiàn)

#include <stdio.h>

2期揪、基本數(shù)據(jù)類型

(1)掉奄、基本數(shù)據(jù)類型所使用的輸出占位符

數(shù)據(jù)類型 占位符
short %d
int %d
long %d
float %f
double %lf
char %c
十六進(jìn)制 %x
八進(jìn)制 %o
字符串 %s

(2)、基本數(shù)據(jù)類型所占字節(jié)數(shù)

數(shù)據(jù)類型 字節(jié)數(shù)
short 2
int 4
long 8
float 4
double 8
char 1

二、輸入輸出函數(shù)

1姓建、輸入函數(shù)

scanf("%d",&i);
控制臺輸入诞仓,& 為取地址符

2、輸出函數(shù)

printf("i的值為:%d\n",i);
控制臺輸輸出函數(shù)

#include <stdio.h>

void main(){
    int i;
    printf("請輸入一個(gè)整數(shù):");
    //賦值
    scanf("%d",&i);
    //打印
    printf("i的值為:%d\n",i);
    system("pause");
}

三速兔、指針

1墅拭、指針的定義

指針存儲的是變量的內(nèi)存地址

變量名就是對內(nèi)存空間中一段數(shù)據(jù)的抽象

內(nèi)存地址就是系統(tǒng)給數(shù)據(jù)分配的編號

#include <stdio.h>
void main(){
    int i = 0;
    //指針變量,p 的值就是 i 這個(gè)變量的內(nèi)存地址
    int* p = &i;
    printf("內(nèi)存地址為:%#X\n",p);
    system("pause");
}

控制臺輸出

內(nèi)存地址為:0X8FF764

指針類型的定義:在基本數(shù)據(jù)類型后加*

如:

    float f = 88.6;
    //創(chuàng)建一個(gè)float類型的指針
    float* fp = &f;    

    float f = 88.6;
    //創(chuàng)建一個(gè)float類型的指針
    float *fp = &f;    

通過指針修改變量的值

void main(){
    int i = 90;
    //創(chuàng)建一個(gè)int類型的指針變量
    int *p = &i;
    printf("i的值為:%d\n",i);
    // p 代表變量 i 的內(nèi)存地址
    // *p 代表 p 這個(gè)內(nèi)存地址上的數(shù)據(jù)
    *p = 210;
    printf("i的值為:%d\n",i);
    system("pause");
}

控制臺輸出:

i的值為:90
i的值為:210

指針變量的內(nèi)存地址說明:

指針變量的內(nèi)存地址說明

2、指針的類型

指針有類型涣狗,地址沒有類型谍婉;
地址只是開始的位置,類型是指明讀取到什么位置結(jié)束

3镀钓、NULL空指針

指針為NULL的指針穗熬,默認(rèn)值為0,默認(rèn)內(nèi)存地址訪問0x000000操作系統(tǒng)不允許

void main(){
    int i = 9;
    int *p = NULL;
    
    //空指針的默認(rèn)值為0
    printf("%#X\n",p);
    //訪問內(nèi)存地址0x000000操作系統(tǒng)不允許
    printf("%d\n",*p);
    getchar();
}

4、多級指針

指針保存的是變量的地址丁溅,保存的這個(gè)變量還可以是一個(gè)指針變量

void main(){
    int a = 50;
    //p1上保存的是 a 的地址
    int* p1 = &a;
    //p2上保存的是 p1 的地址
    int** p2 = &p1;
    printf("p1d的值為:%#x,p2的值為:%#x\n",p1,p2);
    //通過p2 改變a的值
    **p2 = 90;
    printf("a的值為:%d\n",a);
    getchar();
}

輸出結(jié)果為:

p1d的值為:0xcffa9c,p2的值為:0xcffa90
a的值為:90

5唤蔗、指針運(yùn)算

指針的運(yùn)算,一般在數(shù)組遍歷時(shí)才有意義唧瘾,基于數(shù)據(jù)在內(nèi)存中線性排列的方式

void main(){
    //數(shù)組在內(nèi)存中連續(xù)存儲
    int ids[] = {78,90,23,65,19};
    //數(shù)組的變量名:ids就是數(shù)組的首地址
    printf("%#x\n",ids);
    printf("%#x\n",&ids);
    printf("%#x\n",&ids[0]);
    //指針變量
    int *p = ids;
    printf("%d\n",*p);
    //指針的加法
    p++;//指針向前移動(dòng)sizeof(數(shù)據(jù)類型)個(gè)字節(jié)
    printf("%d\n",*p);
    getchar();
}

輸出結(jié)果為:

0x7dfaa0
0x7dfaa0
0x7dfaa0
78
90

通過指針給數(shù)組賦值

void main(){
    int uids[5];
    int* p = uids;
    ////高級寫法
    //int i = 0;
    //for (;i < 5; i++){
    //    uids[i] = i;
    //}
    //早些版本的寫法
    int i = 0;
    for(; p < uids + 5 ; p++){
        *p = i;
        i++;
    }
    
}

6措译、函數(shù)指針

函數(shù)指針的定義:

[函數(shù)返回值類型]([函數(shù)指針的名稱])([函數(shù)的參數(shù)列表])
#include <Windows.h>
void msg(char* title,char* content){
    MessageBox(0,content,title,0);
}

void main(){
    //msg();
    //函數(shù)指針
    void(*fun_p)(char* title,char* content) = msg;
    fun_p("消息標(biāo)題","消息內(nèi)容");
    getchar();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市饰序,隨后出現(xiàn)的幾起案子领虹,更是在濱河造成了極大的恐慌,老刑警劉巖求豫,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塌衰,死亡現(xiàn)場離奇詭異,居然都是意外死亡蝠嘉,警方通過查閱死者的電腦和手機(jī)最疆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚤告,“玉大人努酸,你說我怎么就攤上這事《徘。” “怎么了获诈?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長心褐。 經(jīng)常有香客問我舔涎,道長,這世上最難降的妖魔是什么逗爹? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任亡嫌,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挟冠。我一直安慰自己于购,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布圃郊。 她就那樣靜靜地躺著价涝,像睡著了一般女蜈。 火紅的嫁衣襯著肌膚如雪持舆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天伪窖,我揣著相機(jī)與錄音逸寓,去河邊找鬼。 笑死覆山,一個(gè)胖子當(dāng)著我的面吹牛竹伸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播簇宽,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼勋篓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了魏割?” 一聲冷哼從身側(cè)響起譬嚣,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钞它,沒想到半個(gè)月后拜银,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡遭垛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年尼桶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锯仪。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泵督,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出庶喜,到底是詐尸還是另有隱情小腊,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布溃卡,位于F島的核電站溢豆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瘸羡。R本人自食惡果不足惜漩仙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧队他,春花似錦卷仑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至垢啼,卻和暖如春窜锯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芭析。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工锚扎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人馁启。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓驾孔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惯疙。 傳聞我的和親對象是個(gè)殘疾皇子翠勉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

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