C语言基础知识
DennyZhu0912
多读书,多运动,多blog,这很酷耶!
欢迎大家交流技术,邮箱:[email protected]
展开
-
原码、反码、补码及移位操作
所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。1、原码、反码和补码的表示方法(1) 原码:在数值前直接加一符号位的表示法转载 2015-03-25 12:40:34 · 21466 阅读 · 4 评论 -
C语言中正确使用输入函数scanf
C语言中输入函数scanf使用不当,会出现各种错误,正确使用,会提高效率,现把一些注意事项,正确的使用方法和经验分享给大家. 在C语言中空白字符括:空格、换行(\n)、回车(\r)、水平制表符(\t)、换页符(\f)、垂直制表符(\v)。在scanf读取的一个参数是数时,开始输入的空白字符会被忽略,读取数字直到遇到第一字符不是数字就会停止;读取字符串时,开始的空白字符也会被忽略掉,读转载 2015-04-09 10:07:24 · 1149 阅读 · 0 评论 -
单链表逆置
对于单链表的逆置有两种方法可以实现:(1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。 实现代码:[cpp] view plaincopyprint?typedef int DataType; /转载 2015-03-19 14:54:00 · 489 阅读 · 0 评论 -
C printf() 详解——printf('%08x',number); 程序员面试宝典中的一个错误 char * b=(char *)&a
1 #include 2 using namespace std; 3 int main() 4 { 5 unsigned int a = 0xFFFFFFF7; 6 unsigned char i = (unsigned char)a; 7 char* b = (char*)&a; 8 9 printf("%08x, %08转载 2015-03-23 20:37:42 · 1124 阅读 · 0 评论 -
C/C++关于全局变量和局部变量初始化与不初始化的区别
原文链接:http://www.kingofcoders.com/viewNews.php?type=newsCpp&id=189&number=4836955386在C语言里,全局变量如果不初始化的话,默认为0,也就是说在全局空间里:int x =0; 跟 int x; 的效果看起来是一样的。但其实这里面的差别很大,强烈建议大家所有的全局变量都要初始化,他们的主要差别如下:编转载 2015-03-23 11:47:01 · 4160 阅读 · 0 评论 -
对字符串常量 的理解
常量存储总结局部变量、静态局部变量、全局变量、全局静态变量、字符串常量以及动态申请的内存区1、局部变量存储在栈中2、全局变量、静态变量(全局和局部静态变量)存储在静态存储区3、new申请的内存是在堆中4、字符串常量也是存储在静态存储区补充说明:1、栈中的变量内存会随着定义所在区间的结束自动释放;而对于堆,需要手动free,否则它就一直存在,直到程序结转载 2015-03-30 13:55:35 · 495 阅读 · 0 评论 -
strlen和sizeof的区别
一、sizeof sizeof(...)是运算符,而不是一个函数。 一个简单的例子:int a;cout 在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的转载 2015-03-27 14:38:21 · 396 阅读 · 0 评论 -
C代码中如何调用C++ C++中如何调用C
注意这里的C调用C++或者C++调用C意思是.c文件中调用.cpp文件中代码,或者相反。集成开发环境如VC++6.0或者vs都是以文件后缀来区别当前要编译的是C代码还是C++代码,然后采用响应的编译、调用协议等。使用extern "C" 主要是因为C编译器编译函数时不带参数的类型信息,只包含函数的符号名字。如 int foo( float x )C编译器会将此函数编译成类似_foo转载 2015-03-19 13:49:51 · 386 阅读 · 0 评论 -
static用法小结
static用法小结static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储转载 2015-03-15 18:59:01 · 347 阅读 · 0 评论 -
交换两个变量的值,不使用第三个变量的四种方法
通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法)。转载 2015-03-15 11:15:13 · 373 阅读 · 0 评论 -
C++内存分配方式详解
整个系统的内存分为:系统代码、系统数据区,应用代码、应用数据区。其中可编程内存包括:应用代码和应用数据区。一个由C/C++编译的程序占用的内存分为以下几个部分 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样转载 2015-03-15 20:25:25 · 493 阅读 · 0 评论 -
qsort与sort的区别
sort默认的是升序排序(return a qsort使用return *(int*)a-*(int*)b 是从小到大1.cmp函数和qsort中cmp函数的不同int cmp(const int &a,const int &b){ return a>b}Sort中的cmp函数参数可以直接是参与比较的引用类型。2.cmp转载 2015-04-09 10:29:54 · 821 阅读 · 0 评论