C/C++
aeolus_pu
这个作者很懒,什么都没留下…
展开
-
#ifdef 与#define 意义与 作用
最近在看mysql源码,其中c/c++ 语法都忘得光光了,复习一下基本的语法结构,便于看懂源码。当然对于,经常用c/c++的来说,这些语法是非常简单了。 定义: #ifndef x //if not define的简写 #define x ... #endif作用: 在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件转载 2012-08-27 18:11:35 · 2163 阅读 · 0 评论 -
用GDB调试程序(二)
GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free softw转载 2017-03-17 10:10:06 · 617 阅读 · 0 评论 -
c/c++中&& ||的区别
逻辑运算&&:逻辑与,前后条件同时满足表达式为真||:逻辑或,前后条件只要有一个满足表达式为真位运算 &:按位与|:按位或假如a = 0xaa ,b = 0x55a&&b = true ,在计算机中true以非0值表示,不同的编译器true值也不一样,一般为1a||b = true,a&b = 0; 值唯一a|b = 0xff; 值唯一“&&”跟“|”没有关系,在原创 2017-03-26 12:29:26 · 1724 阅读 · 0 评论 -
#define定义宏的用法
(一)、简单的,复习一下#define PI 3.1415926#define A(x) ((x)*(x)) 这里的括号必不可少(二)、define的单行定义 ##=连接 #@=加单引号 #x=加双引号 1,#define Conn(x,y) x##y //表示x连接y,举例说:int n=Conn(123,456); 结果就是n=1234562,转载 2017-03-03 19:31:56 · 1411 阅读 · 0 评论 -
do{...}while(0)的意义和用法
linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免引用的时候出错:举例来说,假设你需转载 2017-03-03 17:30:03 · 597 阅读 · 0 评论 -
C 语言中&&,||,&,|的区别
&&:逻辑与,前后条件同时满足表达式为真||:逻辑或,前后条件只要有一个满足表达式为真&:按位与|:按位或&&和||是逻辑运算,&与|是位运算假如a = 0xaa ,b = 0x55a&&b = true ,在计算机中true以非0值表示,不同的编译器true值也不一样,一般为1a||b = true,a&b = 0; 值唯一a|b = 0xff; 值唯一“&&”跟“|”原创 2017-02-23 17:11:00 · 27568 阅读 · 0 评论 -
C语言goto语句以及用goto语句构成循环
goto语句是一种无条件转移语句,与BASIC中的goto语句相似。goto 语句的使用格式为: goto 语句标号;其中标号是一个有效的标识符,这个标识符加上一个“:”一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。另外标号必须与goto语句同处于一个函数中,但可以不在一个循环层中。通常goto语句与if条件语句连用,当满足某一条件时,程转载 2017-01-24 11:04:58 · 2831 阅读 · 0 评论 -
c语言 结构体和指针
指针也可以指向一个结构体,定义形式:struct stu{ char *name; int num; int age; char group; float score;} stu1={"Tom",12,18,'A',136.5};// 结构体指针struct stu *pstu=&stu1;也可以在定义结构体的同时定义结构体指针s转载 2017-01-23 17:44:00 · 802 阅读 · 0 评论 -
C语言const:禁止修改变量的值
有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定。例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小。为了满足这一要求,可以使用const关键字对变量加以限定:const int MaxNum = 100; //班级的最大人数这样 MaxNum 的值就不能被修改了,任何对 MaxNum 赋值的行为都将引发错误:MaxNum =转载 2017-01-23 16:09:47 · 1169 阅读 · 0 评论 -
C语言预处理指令总结
预处理指令是以#号开头的代码行,#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是本章涉及到的部分预处理指令:指令说明#空指令,无任何效果#include包含一个源代码文件#defin转载 2017-01-23 16:06:49 · 375 阅读 · 0 评论 -
C语言指针变量作为函数参数
在C语言中,函数的参数不仅可以是整数、小数、字符等具体的数据,还可以是指向它们的指针。用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。像数组、字符串、动态分配的内存等都是一系列数据的集合,没有办法通过一个参数全部传入函数内部,只能传递它们的指针,在函数内部通过指针来影响这些数据集合。有的时候,对于转载 2017-01-23 15:22:57 · 964 阅读 · 0 评论 -
指向数组的指针
数组(array)是一系列具有相同类型的数据的集合,每一份数据叫做数组元素(element)。数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存。定义数组时,要给出数组名和数组长度,数组名可以认为是一个指针,它指向数组的第0个元素。在c语言中 我们将0个元素的地址称为数组的首地址。 int arr[]={99,15,100,888,252} 首先数组名和数组首地址并不原创 2017-01-23 14:58:07 · 545 阅读 · 0 评论 -
c语言 指针变量的运算
指针变量保存的是一个地址,本质上是一个整数,可以进行部分运算.例如加法、减法、比较等 #include int main(){ int a=10, *pa=&a, *paa=&a; double b=99.9 ,*pb=&b; char c='@',*pc=&c; //最初的值 printf("&a=%#X, &b=%#X, &原创 2017-01-23 14:10:37 · 2067 阅读 · 0 评论 -
C语言指针变量
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们称之为指针变量。指针与指针变量是两个不同的概念。在c语言中,允许你一个变量来存放指针,这种变量称为指针变量。指针变量的值就是某份数据的地址,这样的一份数据可以是数组、字符串、函数,也可以是另外的一个普通变量或指针变量。 指针变量定义: 定义指针变量与定义普通变量类似,不要要在变量名前面加星号 *,格式为:原创 2017-01-23 11:31:19 · 1039 阅读 · 0 评论 -
c语言指针的概念 --一切都是地址
一切都是地址 计算机中所有数据都必须放在内存中,不同类型的数据所占的字节数不一样,如int型占用4字节,char占用一个字节。 我们将内存中字节的编号称为地址(address)或指针(pointer),地址从0开始依次增加。 c语言用变量来存储数据,用函数来定义一段可以重复使用的代码,他们最终都要放到内存中才能供cpu使用。cpu只能通过地址来取得内存中的代码和数据,程原创 2017-01-23 09:54:42 · 4203 阅读 · 1 评论 -
实现c语言strstr函数功能
实现c语言strstr标准库函数功能原创 2013-08-28 09:53:36 · 2036 阅读 · 0 评论 -
神奇的i=i++
最近在看c语言,被神奇的i=i++吸引,其实感觉编程是一件有趣的事情(特别喜欢算法)。下面是我的测试,linux 下 gcc编译#include main () { int i=0; int j=0; for(j=0;j i=i++ ; printf("%d\n",i); }编译[root@aeolus原创 2013-07-24 13:49:55 · 859 阅读 · 0 评论 -
C++类的定义和对象的创建
类和对象是 C++ 的重要特性,它们使得 C++ 成为面向对象的编程语言,可以用来开发中大型项目,本节重点讲解类和对象的语法,如果你对它们的概念还不了解,请先阅读《C++类和对象的概念》。类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。有些教程将类的转载 2017-07-31 10:22:27 · 1660 阅读 · 1 评论