摘要:
这得从二进制的原码说起:如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767最小为1111111111111111=-2的15次方减1=-32767此时0有两种表示方法,即正0和负0:0000000000000000=1000000000000000=... 阅读全文
文章分类 - C
C中的堆与栈的区别,与数据结构的中的堆栈不一样!很贴切
2015-06-05 18:42 by 孙桨, 917 阅读, 收藏,
摘要:
一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆... 阅读全文
c语言中逗号运算符和逗号表达式
2015-06-05 18:41 by 孙桨, 607 阅读, 收藏,
摘要:
C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如: 3+5,6+8称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为 表达式1,表达式2逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表... 阅读全文
C语言堆栈入门——堆和栈的区别
2015-06-05 18:40 by 孙桨, 82 阅读, 收藏,
摘要:
原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,... 阅读全文
C语言——定义&&声明
2015-06-05 18:39 by 孙桨, 411 阅读, 收藏,
摘要:
1.变量的定义&声明变量的声明有两种情况:一种是需要建立存储空间的。例如:inta在声明的时候就已经建立了存储空间。另一种是不需要建立存储空间的。例如:externinta其中变量a是在别的文件中定义的。前者是“定义性声明(definingdeclaration)”或者称为“定义(definitio... 阅读全文
C/C++ 关于类型的提升和转换
2015-06-05 18:37 by 孙桨, 4070 阅读, 收藏,
摘要:
C语言允许混合数据类型运算。不过其中各种数据类型将全部转换为其中字节最高的数据类型来进行运算。编译器都可以自动进行数据类型转换。所以表达式所得值的类型为其中字节最高的数据类型。自动数据类型转换可以进行所有类型之间的转换。如果赋值表达式中赋值运算符两边的数据类型不同,编译器也会进行自动数据类型转换。右... 阅读全文
从内存的角度观察 堆、栈、全局区(静态区)(static)、文字常量区、程序代码区
2015-06-05 18:34 by 孙桨, 128 阅读, 收藏,
摘要:
之前写了一篇堆栈的,这里再补充下内存其他的区域1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。... 阅读全文
float类型在内存中的表示
2015-06-05 18:33 by 孙桨, 1348 阅读, 收藏,
摘要:
先说一下计算机中二进制的算法:整数整数的二进制算法大家应该很熟悉,就是不断的除以2取余数,然后将余数倒序排列。比如求9的二进制:9/2=4余14/2=2余02/2=1余01/2=0余1一直计算到商为0为止,然后将得到的余数由下到上排列,就得到了9的二进制:1001。从上面的算法我们可以看到,用整数除... 阅读全文
typedef和#define的用法与区别
2015-06-05 18:32 by 孙桨, 105 阅读, 收藏,
摘要:
typedef和#define的用法与区别一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedefintINT;typedefintARRAY[10];typedef(int*)pINT;... 阅读全文
(转)浮点数
2015-06-05 18:21 by 孙桨, 300 阅读, 收藏,
摘要:
1.float,double,以及longdouble前面所说的数据类型只能用于处理整数。如果我们需要使用小数,就要使用浮点类型(floating-point)。C提供了三种浮点类型:float,double,以及longdouble。注意,unsigned/signed不能用于修饰浮点类型。浮点类... 阅读全文
(转)关于sizeof运算符的详细解析
2015-06-05 18:20 by 孙桨, 251 阅读, 收藏,
摘要:
PartI:最基本的概念与基本使用方法:sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 1、用于数据类型 sizeof使用... 阅读全文
(转)模运算
2015-06-05 18:17 by 孙桨, 150 阅读, 收藏,
摘要:
模运算即求余运算。“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。 例如11 Mod 2,值为1 上述模运算多用于程序... 阅读全文
浙公网安备 33010602011771号