C语言深度剖析学习笔记(材料)_c语言深度剖析笔记

2020-02-27 其他范文 下载本文

C语言深度剖析学习笔记(材料)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言深度剖析笔记”。

The C programming language Expert C programming C Traps and Pitfalls Write Clean Code Code Complete.Second Editon 林锐高质量程序设计指南-C++/C语言

最名不副实的关键字——static 修饰变量。变量分为局部变量和全局变量,但是都存在内存的静态区。静态全局变量:作用域仅限于变量被定义的文件中,其他文件即使用extern声明也没法使用它。准确的说:作用域是从定义之处开始,到文件结尾处结束,在定义处前面的那些代码行也不能使用它,想要使用就得在前面再加extern。#include staticint j;void fun1(void){ staticinti = 0;i++;} void fun2(void){ j = 0;j++;} int main(void){ int k = 0;for(k = 0;k

fun1();

fun2();}

//i的值是10,j的值是1;

return 0;} 答:静态局部变量定义一次,赋值一次,所以每次运行到fun1函数时,每次都会跳过static inti =0;语句,直接运行i++,所以i的值为10;而j的话,每次运行到fun2函数时,j都会被赋值为0,所以j最后的值为1。

修饰函数。函数前加static使得函数成为静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。

sizeofint表示什么?sizeof在计算变量所占空间大小时,括号可以省略,而计算类型(模子)大小时不能省略。Sizeof操作符里面不要有其他运算,否则不会达到预期的目的。

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 //a[0] =-1;-1在计算机中存储的是FF FFFFFF,截取后为FF;//a[0] =-1;1111 1111

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

a[i] =-1-i;

//a[256] =-257;

1111 1111 0xff 开始新一轮的循环

}

printf(“%d”,strlen(a));//而strlen()遇到‘’就结束,但是并不包含字符串最后的’’

return 0;

//所以strlen(a)= 255;}

单纯的char类型应该只用于字符值的存储和使用;有符号和无符号的“char”型变量只能用于数值的存储和使用!!!

留3个问题:

1)按照上面的解释,那-0和+0在内存里面分别怎么存储?

答:补码存储!!!

2)inti =-20;unsigned j = 10;i+j = 多少?为什么?

答:这个要根据i+j的输出形式确定结果,如果输出是%d,则值为-10,如果输出是%u,根据强制类型转换,inti =-20,就强制转换为unsigned类型其值就是:4294967286 3)下面的代码有什么问题?

Unsigned i;for(i= 9;i>= 0;i--){printf(“%un”, i);} 答:unsigned存储的都是没有符号的类型,i--的值永远大于0,进入死循环模式!!

留一个问题:

在switch case语句中能否使用continue关键字?为什么?

答:break关键字是终止本层循环,当只有一层循环时,当代码执行到break时,循环终止。而continue表示终止本次(本轮)循环,当代码执行到continue时,本轮循环终止,进入下一轮循环。Break改成continue时会一直循环!

《C语言深度剖析学习笔记(材料).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言深度剖析学习笔记(材料)
点击下载文档
相关专题 c语言深度剖析笔记 学习笔记 深度 语言 c语言深度剖析笔记 学习笔记 深度 语言
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文