找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5596|回復(fù): 2
收起左側(cè)

筆記:C語言深度解剖

[復(fù)制鏈接]
ID:60266 發(fā)表于 2014-8-18 02:42 | 顯示全部樓層 |閱讀模式
第一章C語言標(biāo)準(zhǔn)定義的32個關(guān)鍵字:
sizeof(計算對象所占內(nèi)存空間大小),char(一個字節(jié)),long(long int 一個字長),int(32與64位機(jī)器上為4字節(jié),8位機(jī)器上為2字節(jié)),short( 32與64位機(jī)器上為2字節(jié),8位機(jī)器上為1字節(jié)),longlong(32與64位機(jī)器都為8字節(jié)),float(4),double(8),const,volatile,goto,extern(聲明變量是在其他文件中聲明)...
備注:char* ( 32位機(jī)器上為4字節(jié),64位機(jī)器上為8字節(jié),也就是字長)
char str[10] ={1,2,3,4,5,6,7,8,9,10}; sizeof(str) =10; strlen(str)= 415;
char str[10] = {1,2,3,4,5,6,7,8,9,0}; sizeof(str) = 10; strlen(str)=9;
char str[10] = “dasfad”;
int main()
{
char a[1000];
int i;
for(i=0; i<1000; i++)
{
a[i] = -1-i;
}
printf("%d",strlen(a)); //這里等于多少? 255這個就很好的說明了strlen的計算。strlen用來統(tǒng)計字符串的長度,遇到'\0'(0)停止計數(shù),表示‘\0’(0)占有多少個字節(jié)(因為是為字符串統(tǒng)計的,所以是字符,字節(jié)),如果 改為int a[1000] 結(jié)果為1020
return 0;
}

////////////////
void fun(int c[100])
{
printf("%d\n",(int)c);// 形參為一個數(shù)組
printf("%d\n",sizeof(c)); //這里的值為4(32位機(jī)) 因為形參這里被轉(zhuǎn)換成一個指向int的地址,                              并不是一個含有100個int的數(shù)組地址,-> int * c;所以計算長度時為                              4,但同樣可以以c[50]這樣的方式訪問數(shù)組,因為才c[50] 這個形式在                               訪問時是要經(jīng)過轉(zhuǎn)換的,轉(zhuǎn)換成地址 *(c +50)
}


回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2017-6-13 20:49
C語言深度解剖 全書下載地址:http://www.torrancerestoration.com/bbs/dpj-57779-1.html

ID:26188 發(fā)表于 2014-8-22 00:20 來自手機(jī) | 顯示全部樓層
這本書,我讀過,不錯
回復(fù)

使用道具 舉報

ID:243067 發(fā)表于 2017-10-26 11:44 | 顯示全部樓層
沒有看過,下來看看
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表