第一篇:C語言深度剖析學(xué)習(xí)筆記
The C programming language Expert C programming C Traps and Pitfalls Write Clean Code Code Complete.Second Editon 林銳高質(zhì)量程序設(shè)計指南-C++/C語言
最名不副實的關(guān)鍵字——static 修飾變量。變量分為局部變量和全局變量,但是都存在內(nèi)存的靜態(tài)區(qū)。靜態(tài)全局變量:作用域僅限于變量被定義的文件中,其他文件即使用extern聲明也沒法使用它。準確的說:作用域是從定義之處開始,到文件結(jié)尾處結(jié)束,在定義處前面的那些代碼行也不能使用它,想要使用就得在前面再加extern。#include
fun1();
fun2();}
//i的值是10,j的值是1;
return 0;} 答:靜態(tài)局部變量定義一次,賦值一次,所以每次運行到fun1函數(shù)時,每次都會跳過static inti =0;語句,直接運行i++,所以i的值為10;而j的話,每次運行到fun2函數(shù)時,j都會被賦值為0,所以j最后的值為1。
修飾函數(shù)。函數(shù)前加static使得函數(shù)成為靜態(tài)函數(shù)。但此處“static”的含義不是指存儲方式,而是指對函數(shù)的作用域僅局限于本文件。
sizeofint表示什么?sizeof在計算變量所占空間大小時,括號可以省略,而計算類型(模子)大小時不能省略。Sizeof操作符里面不要有其他運算,否則不會達到預(yù)期的目的。
Sizeof(int)*p表示什么意思?
int *p = NULL;sizeof(p)的值是多少?sizeof(*p)的值是多少?
答:sizeof(p)= 4;sizeof(*p)= 4;
int a[100];sizeof(a);sizeof(a[100]);sizeof(&a);sizeof(&a[0]);答:sizeof(a)=4;sizeof(a[100])= 4;sizeof(&a)= 400;sizeof(&a[0])= 4;int b[100];void fun(int b[100]){sizeof(b)};sizeof(b)的值是多少?
答:sizeof(b)= 4;
#include
255包括符號位 int main(void)//a[1] =-2;
1111 1110
254 {
//a[2] =-3;
1111 1101253 signed char a[1000];inti;
//a[254] =-255;0000 0001
for(i = 0;i< 1000;i++)//a[255] =-256;0000 0000 0 {
a[i] =-1-i;
//a[256] =-257;
1111 1111 0xff 開始新一輪的循環(huán)
}
printf(“%d”,strlen(a));//而strlen()遇到‘