真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言學(xué)習(xí)總結(jié)(原創(chuàng))

什么是標(biāo)識符? 標(biāo)識符是用來標(biāo)識變量、函數(shù)、類、模塊,或者任何其他用戶自定義項目的名稱,用它來命名程序正文中的一些實體,比如函數(shù)名、變量名、類名、對象名等。如:int a1=0; const b1="hello"中 a1和b1都是標(biāo)識符,不過a1是變量,也就是存儲單元的標(biāo)識符,b1是數(shù)據(jù)字符串的標(biāo)識符

創(chuàng)新互聯(lián)建站長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為玉溪企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設(shè)計,玉溪網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

什么是關(guān)鍵字?關(guān)鍵字是C語言提供的有特殊含義的符號,也叫做“保留字”。C語言一共提供了32個關(guān)鍵字,這些關(guān)鍵字都被C語言賦予了特殊含義 如: while include if else define const 等等

c程序運(yùn)行的實質(zhì)

就是執(zhí)行環(huán)境程序順序解析每個語句再執(zhí)行的過程,解析語句也稱為解釋語句,就是按照關(guān)鍵字和標(biāo)識符代表的含義來解釋成執(zhí)行動作。

如 int a1=1; a1=a1+1;這兩句:

第一句,int a1=0 :執(zhí)行環(huán)境順序讀到"int "關(guān)鍵字了,就知道需要聲明4個字節(jié)的空間,看到a1,就知道要作下記號,標(biāo)記a1作為這4個字節(jié)空間(盒子)的記號,然后給a1所代表的這個盒子賦值為0;

第二句,a1=a1+1, 先從等號右邊開始解釋,看到等號右邊的a1了,就是要讀取a1代表的盒子里面的數(shù)值,讀取就是復(fù)制,讀取后,將數(shù)值加1,然后將新數(shù)值賦值給等號左邊的a1盒子

指針變量作為用于存儲地址的變量,操作方法和上述完全一樣。

總而言之,就是:盒子(也就是變量)可以讀取、賦值,數(shù)值只能讀取。

特殊寫法的標(biāo)識符,*變量名 與 數(shù)組名[],如語句 *s1= s0[0]; s0[0]與*s1都是代表變量盒子的標(biāo)識符,不要理解成為操作符。

c語言語法不嚴(yán)格使人造成的誤解:

1 char *p0;的聲明注意 char *p0=null; 其實正確寫法應(yīng)是 char* p0=null;但兩種寫法編譯都可通過,前種寫法容易使人誤解為在聲明char類型變量。

2 函數(shù)參數(shù)中關(guān)于數(shù)組的聲明 如 int func(char[] c1) int func(char[10] c1) int func(char* c1) int func(char *c1) 如 int func(char[] c1) int func(char[10] c1) int func(char* c1) int func(char *c1) 這四種聲明方式都可傳送字符串指針,實現(xiàn)相同的目的。但前兩者效果一樣,都是聲明了字符數(shù)組型空間,后兩者本質(zhì)與前兩者不同,是聲明了字符型指針變量空間。四種寫法很容易讓人誤解,特別是第二種,無任何意義 ,實際傳參時,無論數(shù)組元素數(shù)大于或小于10都不受影響。

c語言的函數(shù)參數(shù)不允許數(shù)組作為一個整體傳值,要實現(xiàn)傳遞數(shù)組,只能依靠傳遞數(shù)組的指針變量來實現(xiàn)。

c程序容易引起迷惑的地方 *的含義

如下面兩句 char *p1=”hello”;//這句話的*不是標(biāo)識符,是操作符,是在聲明p1是個指針型變量。

*p1='w';//這句話的*卻是標(biāo)識符,不是操作符,*和p1合在一起標(biāo)識數(shù)組"he"第一個元素所在的存儲盒子

程序代碼重點舉例

#include
int main()
{
char a1='2';
char* p0="world";//這個聲明的意思是,聲明一個用于存放char型地址的存儲單元,并在這個存儲單元里賦予字符串"world"的地址
    char *p1="hello";//這種聲明格式是c語言語法不嚴(yán)格的一個bug,容易讓人誤解,以為是聲明char類型變量,其實是在聲明地址變量,
//*p0=*p1;//不能運(yùn)行 *p0標(biāo)識字符串"world"的第一個字符所在的存儲單元,但這個存儲單元位于程序控制區(qū),不能被賦值,只能讀取
//&a1=3;//不能運(yùn)行 ,因為 &a1 這個標(biāo)識符代表數(shù)字2 ; 2不是變量盒子,所以不能被賦值,只能被讀取
    char s0[10]="";//這個聲明的意思是,首先分配10個字符的存儲單元(這十個存儲單元統(tǒng)稱為數(shù)組),然后利用""這個字符串,給每個存儲單元順序賦值,所以此句聲明的不是字符串,聲明的是數(shù)組
    char s1[20]="abcdefghijk"; 
*s1 =*s0;//可以運(yùn)行  注意:*s0中的*不是運(yùn)算符,在這里是標(biāo)識符 ,*s0標(biāo)識字符串""的第一個字符所在的變量盒子,在這里被讀取值"1",*s1標(biāo)識字符串"abcdefghijk"的第一個字符所在的變量盒子,在這里被賦值
    p0=&a1;//可以運(yùn)行
    *s1= s0[0];//可以運(yùn)行
// s0 =&a1;//不能運(yùn)行,s0不代表變量盒子,s0是標(biāo)識符,代表數(shù)組第一個元素的地址數(shù)值,s0[0]才代表該數(shù)組第一個元素所在的變量盒子
   s0[0]=a1;//可以運(yùn)行 a1作為變量盒子,被讀出'2'這個字符, s0[0]是個標(biāo)識符,標(biāo)識字符串""的第一個字符所在的變量盒子,因此可以被賦值
}

網(wǎng)站欄目:c語言學(xué)習(xí)總結(jié)(原創(chuàng))
文章路徑:http://weahome.cn/article/dsoiejc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部