3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
& 是取地址符號(hào)
在函數(shù)傳參過(guò)程中可以進(jìn)行修改傳過(guò)去的地址所指定的值,換句話說(shuō)就是函數(shù)參數(shù)里的局部變量與外部的變量是共享的

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
給你一個(gè)程序,你可以看一下,希望你可以明白
#include<stdio.h>
int main(){
int value = 5;
int *pvalue = &value;
int **ppvalue = &pvalue;
printf("&value = %d\n",&value);
printf("pvalue = %d\n",pvalue);
printf("ppvalue = %d\n",ppvalue);
printf("*ppvalue = %d\n",*ppvalue);
printf("**ppvalue = %d\n",**ppvalue);
return 0;
}
結(jié)果:
&value = 1337974940
pvalue = 1337974940
ppvalue = 1337974928
*ppvalue = 1337974940
**ppvalue = 5

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
C語(yǔ)言中$不是操作符也不能被用來(lái)定義標(biāo)識(shí)符(Java中倒是可以)。C語(yǔ)言歷史上是為設(shè)計(jì)Unix操作系統(tǒng)而發(fā)明的。所以個(gè)人估計(jì)不用$是因?yàn)榉乐购?a >Unix-like系統(tǒng)中命令提示符$混淆($在Shell中有其它用途)。
關(guān)于C語(yǔ)言的相關(guān)用法,關(guān)聯(lián)性比較大的是makefile中的宏定義,$(...)表示對(duì)一個(gè)宏的引用,括號(hào)中為宏名(如果宏名是單字符則括號(hào)可省略)。如果使用IDE,編譯系統(tǒng)可能會(huì)把環(huán)境變量指定為預(yù)設(shè)的宏供用戶(hù)使用——這樣的宏用來(lái)控制編譯源文件和生成目標(biāo)文件的路徑很方便。
makefile配合make工具使用,用來(lái)在編譯過(guò)程中控制文件的依賴(lài)性。雖然本身不是C語(yǔ)言的必要組成部分,但是事實(shí)上的C工程編譯過(guò)程中基本都要用到它(VC里面用的是代用品Microsoft NMake)。makefile的語(yǔ)法很復(fù)雜,
- 3 回答
- 0 關(guān)注
- 1156 瀏覽
添加回答
舉報(bào)