新聞中心
C語(yǔ)言在函數(shù)內(nèi)定義宏有什么壞處嗎?
宏定義寫(xiě)在函數(shù)內(nèi)部主要是為了方便,宏定義是預(yù)處理的,并沒(méi)什么壞處
在岳西等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè),岳西網(wǎng)站建設(shè)費(fèi)用合理。
c語(yǔ)言 為什么fopen函數(shù)被認(rèn)為不安全,要用fopen_s替代?
這個(gè)提示一般出現(xiàn)于VS里面,但是不代表不安全。按照我的理解可能是后邊這個(gè)函數(shù)不需要顯示的關(guān)閉文件描述符。
C語(yǔ)言定程序中義全局變量的好處壞處
好處是:便于傳遞參數(shù),數(shù)據(jù)能在整個(gè)程序中共享。不用很麻煩的傳遞參數(shù),也省去了傳遞參數(shù)的時(shí)間,會(huì)減少程序的運(yùn)行時(shí)間。
壞處是:全局變量不好控制,不利于程序的結(jié)構(gòu)化,因?yàn)槌绦蛑兴械暮瘮?shù)都可以隨便的修改全局變量,可能導(dǎo)致不可預(yù)測(cè)的錯(cuò)誤,也不便于調(diào)試。另外由于全局變量可能會(huì)于局部變量沖突,導(dǎo)致程序混亂。
因此一般的建議是盡量不用或少用局部變量。
為什么在c語(yǔ)言中使用gets函數(shù)是危險(xiǎn)的
談不上“危險(xiǎn)”,
gets() 函數(shù)從標(biāo)準(zhǔn)輸入讀入 一行文本,直到讀到 新行符 或 EOF 字符 之前,不會(huì)停止讀入文本。也就是:gets() 不檢查邊界。因此,當(dāng)變量空間 小于 一行字符串 時(shí), 使用 gets() 會(huì)造成 溢出,程序出錯(cuò)。
例如:
#includestdio.h
int main( )
{
char s[5];
printf ("input one line: ");
gets(s);
printf ("%s\n",s);
return 0;
}
這里,char s[5]; 最多存放 5個(gè)字符,如果 輸入一行字符 太多, 例如 輸入了 10 個(gè)字符,程序會(huì) 出錯(cuò)。出錯(cuò)其實(shí)沒(méi)什么大不了,發(fā)現(xiàn)問(wèn)題,你可以修改 成 char s[15]; 或 輸入語(yǔ)句提示
printf ("input one line, less than 5 chars: "); 談不上“危險(xiǎn)”.
本文名稱:c語(yǔ)言使用函數(shù)壞處 c語(yǔ)言函數(shù)占用內(nèi)存嗎
本文URL:http://www.ef60e0e.cn/article/doedhpi.html