
c/c++
lwnylslwnyls
软件开发
展开
-
关键字short、int、long、char、float、double、signed、unsigned的理解
小感受: signed和unsigned的区别:前者可以表示负数,后者不可以。就是说符号不同,符号指正负号有没有带 int 默认带符号 变量与常量都是储存数据的地方。 变量数据类型所包含的值可按需要作改变,常量数据在程序执行过程中不能改变。 一、变量的类别及定义方法: 1、整型量:是指没有小数部分的数原创 2009-10-25 11:10:00 · 8701 阅读 · 1 评论 -
C/C++面试之算法系列--如何利用数学思想解1/2/5组合问题
转载:http://blog.youkuaiyun.com/sailor_8318/article/details/3120812华为笔试题:写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。。。。答案:最容易想到的算法是:设x是1的个数,y是2的个数,z是5的个数,number是组合数x+2*y+转载 2013-02-20 23:04:26 · 534 阅读 · 0 评论 -
C++ 重载(overload)、重写(overrride)、重定义(redefine)总结
1 成员函数重载特征: a 相同的范围(在同一个类中) b 函数名字相同 c 参数不同d virtual关键字可有可无2 重写(覆盖)是指派生类函数覆盖基类函数,特征是: a 不同的范围,分别位于基类和派生类中 b 函数的名字相同 c 参数相同 d 基类函数必须有virtual关键字3 重定义(隐藏)是指派生类的函数屏蔽了与其同名转载 2013-02-19 22:37:48 · 562 阅读 · 0 评论 -
查找单链表中倒数第k个元素
转载自:http://blog.youkuaiyun.com/zhtsuc/article/details/4534678题目表述:设计一个算法,找出一个无环的单链表里面倒数第k个元素,速度要快。算法实现:实现中的注释已经解释了算法的大概思想。struct node{ int key; node* next;};typedef node* List;int转载 2013-02-25 22:19:12 · 557 阅读 · 0 评论 -
gdb常用命令
准备条件如果希望使用gdb察看到源代码信息,编译时需要在cc后面加 -g参数再加-o;常用命令[work@ubuntu home]$gdb 调试文件:启动gdb(gdb) l :(字母l)从第一行开始列出源码(gdb) break n :在第n行处设置断点(gdb) break func:在函数func()的入口处设置断点(gdb) info break: 查看断点原创 2013-04-01 20:17:29 · 624 阅读 · 0 评论 -
C++中Operator类型强制转换成员函数
转载自:http://blog.youkuaiyun.com/sszgg2006/article/details/7724801类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换。转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的目标类型。转换函数又称类型强制转换成员函数,它是类中的一个非静态成员函数。它的定转载 2013-05-31 15:11:38 · 771 阅读 · 0 评论 -
realloc,malloc,calloc的区别
三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib.h函数库内它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL转载 2013-05-31 16:29:39 · 639 阅读 · 0 评论 -
Makefile 中:= ?= += =的区别
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endifif转载 2013-06-19 15:06:25 · 542 阅读 · 0 评论 -
C++之异常处理
程序中的错误分为编译时的错误和运行时的错误。编译时的错误主要是语法错误,比如:句尾没有加分号,括号不匹配,关键字错误等,这类错误比较容易修改,因为编译系统会指出错误在第几行,什么错误。而运行时的错误则不容易修改,因为其中的错误是不可预料的,或者可以预料但无法避免的,比如内存空间不够,或者在调用函数时,出现数组越界等错误。如果对于这些错误没有采取有效的防范措施,那么往往会得不到正确的运行结果,程序不转载 2013-07-10 16:04:43 · 540 阅读 · 0 评论 -
raw soket
raw socket抓取tcp包原创 2013-10-12 13:02:50 · 986 阅读 · 0 评论 -
C和C++的区别
1.FALSE/TRUE与false/true的区别: false/true在c语言中没有,是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,用途是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:#ifndef FALSE#define FALSE 0#endif#ifndef TRUE#def原创 2013-01-31 23:35:04 · 477 阅读 · 0 评论 -
C语言基本数据类型详解
原帖地址:http://blog.youkuaiyun.com/woods2001/article/details/6532761一、基本数据类型1. 基本数据类型的分类:C语言中的三种基本数据类型是:整型 、实型 、字符型 。每种类型又可以分为常量和变量。整型常量:(1) 十进制的整型常量:由数字0~9组成。如:0、10、365、-12等。(2) 八进制的整型常量:以0开转载 2013-01-29 23:42:19 · 675 阅读 · 0 评论 -
整型常识
a. c/c++对整型长度的规定是为了执行效率,将int定义为机器字长可以取得最大的执行速度;b. c/c++中整型包括:int, char 和 enum, c++中还包含bool类型,c99中bool是一个宏,实际为_bool; c. c 和 c++ 对 enum 的规定有所不同,这里不描述; d. 修饰整型正负的有 signed 和 unsigned,对于 int 默认为 si原创 2009-10-25 11:37:00 · 1115 阅读 · 0 评论 -
宏定义
宏定义 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译 1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 掌握"宏"概念的关键是“换”。一切以转载 2009-10-25 11:42:00 · 632 阅读 · 0 评论 -
c语言程序设计(第二版)谭浩强 自我总结笔记
一不同数据类型的存储方式1整数一个存放整数的存储单元,左边第一位用来表示符号2实数在计算机中一般以4个字节存储一个实数。这4个字节分为两个部分:一般以3个字节存放数值部分(包括数符),以1个字节存放指数部分。3字符计算机并不是将字符本身存放到存储单元中(存储单元只能存储二进制信息),而是将字符的代码存储到相应的存储单元中。二字符数据与整型数据在一定条原创 2010-03-09 21:31:00 · 3686 阅读 · 0 评论 -
c语言程序设计(第二版)谭浩强 自我总结笔记2
一 C语言字符串函数的详细介绍 1 读入字符串函数gets(字符数组) 如:gets(str); 2 输出字符串函数 puts(字符数组) 3 字符串连接函数 strcat(字符数组1,字符数组2) 4 字符串复制函数 strcpy(字符数组1,字符数组2) 如果两个字符数组长度不同,前长后短,则长的最后几个字原创 2010-03-09 21:32:00 · 3199 阅读 · 2 评论 -
基于C语言的个人所得税计税系统
#include #include /*基于C语言的个人所得税计税系统 问题描述: 我国现行的个人所得税计算方法如下: 级数 全月应纳税所得额 税率(%) 1 不超过500元的 5 2 超过500元至2000元的部分 10 3 超过2000元至5000元的部分 15 4 超过5000元至20000元原创 2013-01-29 00:21:23 · 2883 阅读 · 0 评论 -
可重入和不可重入
这种情况出现在多任务系统当中,在任务执行期间捕捉到信号并对其进行处理时,进程正在执行的指令序列就被信号处理程序临时中断。如果从信号处理程序返回,则继续执行进程断点处的正常指令序列,从重新恢复到断点重新执行的过程中,函数所依赖的环境没有发生改变,就说这个函数是可重入的,反之就是不可重入的。众所周知,在进程中断期间,系统会保存和恢复进程的上下文,然而恢复的上下文仅限于返回地址,cpu寄存器等之类的转载 2013-01-30 00:37:15 · 437 阅读 · 0 评论 -
C语言的内存分配
一个Java程序员需要对栈空间和堆空间理解到位,那么学C语言需要对内存分配理解透彻吗?写了这么多年的C语言,熟练不少算法,本以为已经达到那种语言在外,内功在内的高度了。却从未思考过C语言的内存分配,直到今天遇到了问题,实在是惭愧啊……先看一下两段代码:char* toStr() { char *s = "abcdefghijkl"; return s;}int main(){转载 2013-01-30 01:05:35 · 640 阅读 · 0 评论 -
大小端问题
端模式出自Jonathan Swift书写的《格列佛游记》一书,这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。 在计算机业Big Endian和Littl原创 2013-01-30 00:01:52 · 527 阅读 · 0 评论 -
关于栈、堆、静态存储区最大可分配大小的探讨
看《编程之美》的第2.5节中有这么一小段程序:float array[100 000 000];这个1亿个float变量,这样就有8亿个字节,转化为二进制单位G,就是小于等于1G。这样大小的数组量只能用堆(动态申请内存变量)或者静态存储区(全局变量)来申请。好了,转入今天要讲的正题。到底栈、堆、静态存储区能申请的最大分配大小是多少呢?栈(stack)栈大小与编译器有关。默认转载 2013-01-30 01:28:29 · 13288 阅读 · 1 评论 -
TortoiseSVN使用简介
安装及下载client 端 下载Windows 端程序:http://tortoisesvn.net/downloads。一般而言,如果是32-bit的Windows XP 应该使用TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi 这个档案。如果是64-bit 的操作系统,则应该使用TortoiseSVN-1.4.x.xxxx-x64-svn-1.4.x转载 2013-08-28 22:20:19 · 563 阅读 · 0 评论