C基礎(chǔ)

有些概念的蜓斧、重要的東西時間過久了容易忘記列赎,好記性不如爛筆頭表鳍,記錄下來以便查閱

  • <stdio.h> 標(biāo)準(zhǔn)輸入輸出庫,是函數(shù)的申明逾冬,在編譯鏈接的時候會去找到相關(guān)函數(shù)的實(shí)現(xiàn)(通常是在編譯器的libs中黍聂。)

  • system("puase")(和getChar()一個效果);這句話其實(shí)是執(zhí)行的系統(tǒng)命令,假如命令為:mspaint則打開的是畫板(在windows中)

  • 占位符:
    int : %d
    short: %d
    long :%ld
    float :%f
    double :%lf
    string :%s
    十六進(jìn)制:%x
    八進(jìn)制:%o

  • scanf("");

  • define xxxx------>宏定義

void main() {
    int i=0;
    int* p = &i;
    printf("%#x\n",p);
    printf("%#x\n",&p);
    printf("%d\n",*p);
}

代碼解讀:
1身腻、int* p申明一個int類型的(指針也是需要有類型的)指針類型的變量p产还,&為取地址符,表示存放i變量值的內(nèi)存地址嘀趟,而p變量的值存放為這個地址脐区,
輸出為:
0x5fbff75c ——>p的值,也就是i的地址
0x5fbff750 ——> 對指針變量p取地址她按,存放變量p的地址
0 ——>對*p取值牛隅,因?yàn)槭莗是指針變量,所以取到的是以p的值的內(nèi)存地址編號存放的值

image.png
  • 形參和實(shí)參
void change(int p) {
    p=100;
}

/**
 * 相對于java中的值傳遞和應(yīng)用傳遞
 */
void main() {
    int i=90;
    int* p = &i;
    change(i);
    printf("%d\n",i);
}

這樣子的輸出是:90酌泰。因?yàn)榘褜?shí)參的值賦值給形參p媒佣,由于p是另外開辟的空間,改變p的值對i毫無影響宫莱。
如果想要i的值也要改變丈攒,就需要用到指針變量

void change(int *p) {
    *p=100;
}

/**
 * 相對于java中的值傳遞和應(yīng)用傳遞
 */
void main() {
    int i=90;
    int* p = &i;
    change(p);
    printf("%d\n",i);
}

  • 指針的類型
    指針也是有類型的
/**
 * 指針的類型
 */
void main() {
    int i=90;
    int* p = &i;
    double j = 89.2;
    p = &j;
    printf("%d\n",sizeof(int));
    printf("%d\n",sizeof(double));
    printf("%lf\n",*p);
}
輸出:
4
8
0.000000

當(dāng)一個double類型變量的地址賦值給int類型的指針的時候哩罪,取值會不正確的授霸。因?yàn)橹羔榩是int類型,占4個字節(jié)际插,存放的是內(nèi)存當(dāng)中開始的地址碘耳,也就是開始的地址往后數(shù)四個字節(jié)。當(dāng)double類型的數(shù)據(jù)賦值給int指針p的時候框弛,double是八個字節(jié)辛辨,當(dāng)取值的時候p是int類型的指針只會去四個字節(jié)的值,所以取到的值只是高四位的值。
所以:指針保存的是地址開始的位置斗搞。

  • 指針的運(yùn)算
/**
 * 指針的運(yùn)算
 */
void main() {
    int ids[] = {1,3,4,5,6,7};
    printf("%#x\n",ids);
    printf("%#x\n",&ids[0]);
}
輸出:
0x5fbff6e0
0x5fbff6e0
0x5fbff6e0

可以看到指攒,數(shù)組變量名的值,就是數(shù)組第一個元素的地址僻焚,&ids也是允悦,編譯器做了處理。
所以可以將數(shù)組變量名的值賦值給一個指針變量(*p)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末虑啤,一起剝皮案震驚了整個濱河市隙弛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狞山,老刑警劉巖全闷,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異萍启,居然都是意外死亡总珠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門勘纯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姚淆,“玉大人,你說我怎么就攤上這事屡律‰绶辏” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵超埋,是天一觀的道長搏讶。 經(jīng)常有香客問我,道長霍殴,這世上最難降的妖魔是什么媒惕? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮来庭,結(jié)果婚禮上妒蔚,老公的妹妹穿的比我還像新娘。我一直安慰自己月弛,他們只是感情好肴盏,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著帽衙,像睡著了一般菜皂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厉萝,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天恍飘,我揣著相機(jī)與錄音榨崩,去河邊找鬼。 笑死章母,一個胖子當(dāng)著我的面吹牛母蛛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乳怎,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼溯祸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了舞肆?” 一聲冷哼從身側(cè)響起焦辅,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎椿胯,沒想到半個月后筷登,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哩盲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年前方,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廉油。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡惠险,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抒线,到底是詐尸還是另有隱情班巩,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布嘶炭,位于F島的核電站抱慌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏眨猎。R本人自食惡果不足惜抑进,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睡陪。 院中可真熱鬧寺渗,春花似錦、人聲如沸兰迫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逮矛。三九已至鸡号,卻和暖如春转砖,著一層夾襖步出監(jiān)牢的瞬間须鼎,已是汗流浹背鲸伴。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晋控,地道東北人汞窗。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像赡译,于是被迫代替她去往敵國和親仲吏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

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