- 博客(9)
- 收藏
- 关注
原创 const和volatile
const只读变量const修饰的变量是只读的,本质还是变量const修饰的局部变量在栈上分配空间const修饰的全局变量在全局数据区分配空间const只在编译期有用,在运行期无用const修饰的变量不是真的常量,只是告诉编译器该变量不能出现在赋值符号的左边#include int main(){ const int tsg = 1; int* p = (int*)
2015-11-25 17:03:31
314
原创 goto和void
goto项目经验:程序的质量与goto出现的次数成反比潜规则:禁用goto#include #include void func(int n){ int* p = NULL; if( n < 0 ) { goto STATUS; } p = (int*)malloc(sizeof(int) * n); STA
2015-11-23 16:29:59
289
原创 循环语句
do,while,for 的区别do语句先执行后判断,循环体至少执行一次while语句先判断后执行,循环体可能不执行for语句先判断后执行,相比while更简洁#include int f1(int n){ int ret = 0; if( n > 0 ) { do { ret += n
2015-11-20 20:41:43
301
原创 分支语句
if 语句中零值比较注意点bool b = TURE;if(b){ //}else{ //}int i =1;if(0 == i){ //}else{ //}#define TSG 0.00000001float f = 0.0;if((-TSG <= f)&&(f <= TSG)){ //}else{ //}switch语句分析
2015-11-20 20:09:07
376
原创 变量属性
C语言中变量可以有自己的属性auto关键字auto即C语言中局部变量的默认属性auto表明将被修饰的变量存储于栈上编译器默认所有的局部变量都是auto属性void f(){ int i; //局部变量默认属性为auto auto int j; //显示声明 auto 属性}register关键字register关键字指明将局部变量存储于
2015-11-20 19:34:02
337
原创 类型转换
类型转换——强制类型转换转换结果——目标类型能够容纳目标值:结果不变——目标类型不能容纳目标值:结果产生截断#include struct TSG{ int i; int j;};struct TSG tsg;int main(){ short s = 0x1122; char c = (char)s; int i
2015-11-20 17:45:22
355
原创 浮点数
内存中的浮点数浮点数在内存的存储方式:符号位,指数,尾数。类型符号位指数尾数float1位(第31位)8位(第23--30位)23位(第0--22位)double1位(第63位)11位(第52--62位)52位(第0--51位)float与double类型的数据在计算机内部的表示法是相同
2015-11-17 20:03:05
372
原创 有符号与无符号
有符号与无符号数据类型的最高位用于标识数据的符号最高位为1,表示这个数为负数最高位为0,表示这个数为正数#include int main(){char a = -5;short s = 6;int i = -7;printf("%d\n",((a & 0x80) !=0));printf("%d\n",((s & 0x8000) !=0));
2015-11-17 19:48:31
483
原创 C语言基本数据类型
什么是数据类型?1.数据类型可以理解为固定内存大小的别名C语言诞生之前的汇编时代,在低端的机器语言里面没有数据类型的概念,如何操作内存呢?当然我们知道内存的起始地址和内存大小,就可以操作这段内存了。然而在编程过程中,我们发现经常用到1个字节,2个字节和4个字节的内存。我们每次呢都会去记这个2个字节的起始地址在哪里,下一个2个字节的内存起始地址又在哪里。这样我们的编程就变得想当的复杂,繁
2015-11-17 16:49:26
708
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人