C語(yǔ)言的32個(gè)關(guān)鍵字 C語(yǔ)言是不是只能使用數(shù)據(jù)類型的關(guān)鍵字來(lái)定義變量?為什么?
C語(yǔ)言是不是只能使用數(shù)據(jù)類型的關(guān)鍵字來(lái)定義變量?為什么?謝謝邀請(qǐng)。c語(yǔ)言大部分時(shí)候,只能用數(shù)據(jù)類型關(guān)鍵字來(lái)定義變量,如:int,long int,double void等。但很多時(shí)候也可用其它類型關(guān)鍵
C語(yǔ)言是不是只能使用數(shù)據(jù)類型的關(guān)鍵字來(lái)定義變量?為什么?
謝謝邀請(qǐng)。
c語(yǔ)言大部分時(shí)候,只能用數(shù)據(jù)類型關(guān)鍵字來(lái)定義變量,如:int,long int,double void等。但很多時(shí)候也可用其它類型關(guān)鍵字,舉例如下:
1,const :聲明只讀變量.
如:
const char cosin=1它表示cosin值在程序中只能引用,不能改變,在程序中經(jīng)常用到。
簡(jiǎn)化,把char取掉,寫(xiě)成:
const cosin=1;
編繹也是正確的,執(zhí)行也沒(méi)問(wèn)題。
這說(shuō)明不用數(shù)據(jù)類型char也是可以的。
同理,const cosin=0.5498654;
也同樣執(zhí)行過(guò)確。
2,sizeof:計(jì)算數(shù)據(jù)類型長(zhǎng)度
如:
return(sizeif(a));
返回類型可以是int,也可以是其它。
3,typedef:
typedef struct
{
int a
bool c
}astruct
那么,在別的地方可直接這樣定義一個(gè)結(jié)構(gòu):
astruct struct1
4,extern
函數(shù)asint()
在另外一個(gè)文件中
extern asint()
總結(jié):關(guān)鍵字很多,用在專用場(chǎng)合。
C語(yǔ)言的數(shù)據(jù)類型分為幾種?
您好!
short、int、long、char、float、double 這六個(gè)關(guān)鍵字代表C 語(yǔ)言里的六種基本數(shù)據(jù)類型。
在不同的系統(tǒng)上,這些類型占據(jù)的字節(jié)長(zhǎng)度是不同的:
在32 位的系統(tǒng)上
short 占據(jù)的內(nèi)存大小是2 個(gè)byte;
int占據(jù)的內(nèi)存大小是4 個(gè)byte;
long占據(jù)的內(nèi)存大小是4 個(gè)byte;
float占據(jù)的內(nèi)存大小是4 個(gè)byte;
double占據(jù)的內(nèi)存大小是8 個(gè)byte;
char占據(jù)的內(nèi)存大小是1個(gè)byte。
具體可以用sizeof測(cè)試一下即可。
C語(yǔ)言32個(gè)關(guān)鍵字里,哪些可以用來(lái)聲明定義變量?該注意些什么?
首先從C語(yǔ)言的特點(diǎn)來(lái)說(shuō),它是一種靜態(tài)語(yǔ)言,所有變量都必須有一個(gè)類型,不管是基本類型,如int,char,float,double等,還是結(jié)構(gòu)體、聯(lián)合體、枚舉等自定義類型,只要是類型關(guān)鍵字,都可以用來(lái)定義變量。此外,還有一個(gè)變量類型叫指針,又分為變量指針和函數(shù)指針,其中變量指針指向特定數(shù)據(jù)類型的地址,函數(shù)指針指向函數(shù)的入口地址,只要將變量類型與*號(hào)結(jié)合就可以聲明指針。此處應(yīng)該注意一點(diǎn),指針是一個(gè)遞歸定義,也就是說(shuō)指針可以指向一個(gè)指針,有點(diǎn)拗口,核心意思就是指針可以一直指下去。
函數(shù)指針類型的變量定義有點(diǎn)特殊,這里舉一個(gè)例子:
定義:typedef void (*myFun)(int)
?????? ? void FunImp(int param){/*函數(shù)內(nèi)容*/}
使用:myFun = FunImpmyFun(10)?
綜上,記住一個(gè)關(guān)鍵點(diǎn)定義變量一定要有類型,這個(gè)不同于Python等動(dòng)態(tài)語(yǔ)言,為了更清楚程序運(yùn)行時(shí)的狀態(tài),最好能知道每種類型的變量在內(nèi)存中占據(jù)的空間大小,這一點(diǎn)很關(guān)鍵,很多bug就是因?yàn)樽兞吭诓煌南到y(tǒng)中占據(jù)的內(nèi)存大小不一樣導(dǎo)致的。比如對(duì)于Int類型,在32位系統(tǒng)占用4字節(jié),而在64位系統(tǒng)就占據(jù)8字節(jié)。此外,還要清楚數(shù)據(jù)在內(nèi)存中的大小端模式,即高位字節(jié)在前還是地位字節(jié)在前。
C語(yǔ)言怎么說(shuō)明一種新的類型名?
題主你好。嚴(yán)Sir很高興來(lái)回答你的問(wèn)題。
認(rèn)真的看了你在問(wèn)題中的配圖,發(fā)現(xiàn)你應(yīng)該是在做題當(dāng)中產(chǎn)生的一個(gè)疑問(wèn),應(yīng)該是你無(wú)法理解為啥會(huì)選擇C這個(gè)答案。
首先,我必須要告訴你:這道題的備選項(xiàng)中,C這個(gè)答案是錯(cuò)誤的。
這個(gè)錯(cuò)語(yǔ)應(yīng)該是來(lái)源于印刷錯(cuò)誤。你發(fā)出的圖如下:
通過(guò)分析,C這個(gè)答案應(yīng)該是:typedef int v3
其次,typedef的作用,嚴(yán)格來(lái)說(shuō),并不是說(shuō)明一種新的類型名,而是給已有類型名取一個(gè)別名。
typedef是C語(yǔ)言的關(guān)鍵字,作用是為一種數(shù)據(jù)類型定義一個(gè)新名字。這里的數(shù)據(jù)類型包括內(nèi)部數(shù)據(jù)類型(int,char等)和自定義的數(shù)據(jù)類型(struct等)。
在編程中使用typedef目的一般有兩個(gè),一個(gè)是給變量一個(gè)易記且意義明確的新名字,另一個(gè)是簡(jiǎn)化一些比較復(fù)雜的類型聲明。
根據(jù)題主現(xiàn)在處于水平狀態(tài),只需要去理解使用typedef給已有變量一個(gè)易記且意義明確的新名字(別名)。
格式: typedef 數(shù)據(jù)類型名 別名
注意:別名要遵守C語(yǔ)言標(biāo)識(shí)符的命名規(guī)則。
如:typedef int v3 該條語(yǔ)句的作用是就是用v3這個(gè)名字來(lái)代表int型。
最后,請(qǐng)題主記住,有時(shí)候不是你的理解錯(cuò)了,而是你手里拿到的資料有問(wèn)題,需要你用最基本的知識(shí)去分析它,這可以得到答案了。
以上便是該問(wèn)的回答。如果覺(jué)得有所幫助,請(qǐng)關(guān)注 嚴(yán)Sir課堂。我們會(huì)為你提供系統(tǒng)的C語(yǔ)言學(xué)習(xí)教程。