第一章C語言標準定義的32個關鍵字:
sizeof(計算對象所占內存空間大小),char(一個字節),long(long int 一個字長),int(32與64位機器上為4字節,8位機器上為2字節),short( 32與64位機器上為2字節,8位機器上為1字節),longlong(32與64位機器都為8字節),float(4),double(8),const,volatile,goto,extern(聲明變量是在其他文件中聲明)...
備注:char* ( 32位機器上為4字節,64位機器上為8字節,也就是字長)
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用來統計字符串的長度,遇到'\0'(0)停止計數,表示‘\0’(0)占有多少個字節(因為是為字符串統計的,所以是字符,字節),如果 改為int a[1000] 結果為1020
return 0;
}
////////////////
void fun(int c[100])
{
printf("%d\n",(int)c);// 形參為一個數組
printf("%d\n",sizeof(c)); //這里的值為4(32位機) 因為形參這里被轉換成一個指向int的地址, 并不是一個含有100個int的數組地址,-> int * c;所以計算長度時為 4,但同樣可以以c[50]這樣的方式訪問數組,因為才c[50] 這個形式在 訪問時是要經過轉換的,轉換成地址 *(c +50)
}
|