(1)1.3 (2)1.10没看懂 (3)1.11和1.12都讲到了   静态变量和局部变量,那么这两个是啥啊,我不懂: (4)1.13针对那两个字符串定义为啥有问题,不懂 (5)2.8是做什么的 (6)3.1注意整理 (7)3.3为啥没定义,具体自己搜一下 (8) 3.6我不是很懂 (9)4.2看的不懂,自己再搜一下 (10)5.1  这里介绍了空指针,有几句话概括的很经典,所以  好好记一下 (11)对于NULL解释  自己得整理  它既可以作为数字0,也可以作为(void*)指针0 (12…
C语言作为一门古老的语言,其灵活性和容易出错都让人 又爱又恨,书籍<你必须知道的495个C语言问题>,使用问答的形式,告诉读者 C语言使用的各个方面的知识,包括一些冷知识等.以下,我要摘录和整理些 ,我认为比较重要的知识进行分享. 知识 一:声明,定义与初始化 1.关于int与long,众所周知,C语言标准没有规定标准类型的大小,特别是对于int类型,在甚多16位的机器上看,int类型其实是16位的,而到了32位机器上,int就是32位的了,实际上,int类型代表了机器的自然字长,这是多整形变…
萨米特 (Steve summit) (作者), 孙云 (译者), 朱群英 (译者) 下载地址:点我 <你必须知道的495个C语言问题>以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题.书中列出了C用户经常问的400多个经典问题,涵盖了初始化.数组.指针.字符串.内存分配.库函数.C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点. 编辑推荐 <你必须知道的495个C语言问题>结构清晰,讲解透彻,是各高校相关专业C语言课程很好的教学参考书,…
1. extern在函数声明中是什么意思? 它能够用作一种格式上的提示表明函数的定义可能在还有一个源文件里.但在 extern int f(); 和 int f(); 之间并没有实质的差别. 补充:extern能够置于变量或者函数前,以标示变量或者函数的定义在别的文件里,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定.也就是说extern有两个作用: 第 一,当它与"C"一起连用时,如: extern "C" void fu…
1. Java语言的运行机制: Java既不是编译型语言也不是解释型语言,它是编译型和解释型语言的结合体.首先采用通用的java编译器将Java源程序编译成为与平台无关的字节码文件(class文件),然后由Java虚拟机对字节文件解释执行 2. 什么是JVM?有什么作用?工作机制如何? JVM是一个虚构出来的计算机,可在实际的计算机上模拟各种计算机功能,JVM有自己完善的硬件架构,如:处理器.堆栈.寄存器等,还有相应的指令系统. JVM是由Java字节码执行的引擎,为java程序的执行提供必要的…
本文,我们来学习下指针,这是个梦魇啊.无数次折磨着C语言学习者,无数次的内存泄露,无数次的访问失败,无数次的越界溢出, 这些错误造就的仅仅是一个 跟随者,真正的优秀者必须要正视语言的局限,同时在最大限度的发挥它的优势,而发挥C语言优势的正是指针 造物者的错 ; int*p =&i; *p =; 以上简单的代码,很不幸的混乱了指针与指针的解引用,但是 ,这是最正宗的C语言语法,我初学C指针的时候,经常把* 当作指针的代名词,所以很当然的把*出现的地方当作 指针,所以我分不清上面代码的差异,所以我可…
本文是 本系列的第三篇,本文主要对C语言的表达式做个小结 先从两个坑爹的表达式说起:i++ 与++i 上大学的时候,学长告诉我,这两个表达式,意义是一样的,后来老师纠正说,还是有区别的,于是让我们记住以下观点:i++是先使用i的值,再对i进行+1操作,而后者则刚好相反,先将i+1,再使用i的值.一直都是这么记得,笔试也没错过,也就信了老师了.更合理的解释是:++i在存储的值上增加1 并向使用它的表达式"返回"新的.增加后的值,而i++对i增加1,但返回的是原来的.未增加的i的值. 但是…
这是本主题的第二篇文章,主要就结构体,枚举.联合体做一些解释 1.结构体 现代C语言编程 结构化的基石,diy时代的最好代言人,是面向对象编程中类的老祖宗. 我们很容易定义一个结构体,比如学生: struct student { char * name; int number; }; 在前文中,我们介绍了typedef 的用法,这里,我们可以使用该关键词声明一个学生结构体变量 typedef struct student stu_st; 在使用该结构体的地方都可以使用stu_st 代替: str…
1.1我该如何决定使用哪种整数类型? 用到较大的数用long:空间很重要(例如有很大的数组或很多的结构)用short:此外用int. win32: int 32bit    4byte char 8bit   1byte   short    16bit 2byte long 32bit 4byte float 32bit   4byte double 64bit    8bit 注:wchar_t在Windows中是2byte,在Linux中是4byte 1.2为什么不精确定义标准类型的大小?…
一.可变参数列表 1. Q:为什么调用printf前必须要包含<stdio.h>? A:为了把printf的正确原型说明引入作用域.例如,如果可变参数的调用比固定参数的调用效率低,编译器就可能这样做.所以在调用可变参数的函数前,它的原型说明必须在作用域内,编译器由此知道要用可变参数调用机制. 2. Q:怎样写一个接受可变参数的函数? A:用<stdarg.h>提供的辅助机制.(有待研究) 二.风格 1. Q:用if(!strcmp(s1, s2))比较两个字符串是否相等是个好风格吗…