自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 什么是大端字节序?什么是小端字节序?如何用共用体判断机器的大小端?

大端字节序:数据的高字节存储在低地址中,数据的低字节存储在高地址中。(也就是对操作数的存储方式是从高字节到低字节)小端字节序:数据的低字节存储在低地址中,数据的高字节存储在高地址中。(也就是对操作数的存储方式是从低字节到高字节)e.g.32bit宽的数0x12345678在Little-endian模式CPU内存中的存放方式(假设地址从0x4000开始)为:0x4000: 0x

2017-08-10 20:06:33 2744

原创 volatile关键字的含义和作用

1、volatile提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都要小心地。从该变量的地址中读取。如果没有volatile关键字,则编译器就可能优化读取和存储,可能暂时使用寄存器中的值。     当要求使用volatile声明变量的时候,系统总是重新从它所在的内存读取数据,即使前面的指令刚刚从该处读取过数据。精确地说就是,遇到这个关键字声明的变

2017-08-10 19:46:07 14291

原创 const关键字的作用

在C语言中:1、修饰变量const修饰的变量不可以改变,为只读。(C语言中,可以用强制类型转换,通过指针来改变变量的值)   2、修饰指针如果const位于*的右侧,(eg. char *const p),const就是修饰指针本身,即指针本身是常量;如果const位于*的左侧,(eg. char const *p),则const就是用来修饰指针所指向的变量,即指针指向为常量。

2017-08-10 19:28:36 754

原创 虚析构函数

在析构函数前面加上关键字virtual进行说明,则称该析构函数为虚析构函数。例如:class B{public:virtual ~B(); };该类中的析构函数就是一个虚析构函数。如果一个基类的析构函数被说明为虚析构函数,则派生类中的析构函数也是虚析构函数,不管它是否使用了关键字virtual进行说明。说明虚析构函数的目的在于使用de

2017-08-07 20:09:00 387

原创 抽象类

带有纯虚函数的类称为抽象类,纯虚函数是在声明时“初始化值”为0的函数。抽象类是一种特殊的类,它是为了抽象和设计的目的而建立的,它处于继承层次结构的较上层,其唯一的用途是为其他类提供合适的基类,其他类可从它这里继承和实现接口,即由抽象类为他们提供一个公共的根,相关的子类是从这个根派生出来的。相对而言,能够建立实例化对象的类称为具体类。对于抽象类的使用有几点规定:1、  抽象类只能

2017-08-07 11:09:42 1534

原创 编程实现一个单链表节点的删除

【单链表节点的删除】://删除单链表的pos位置的节点,返回链表头指针//pos从1开始计算,1表示删除head后的第一个节点node *delete_node(node *head, int pos){ node *item = NULL; node *p = head->next; int i = 0; if(p == NULL)

2017-08-07 10:54:35 1186

原创 编程实现一个单链表节点的插入

【解析】:      向单链表中某个位置处(第pos个节点)之后插入节点, 这里分为插入到链表首部、插入到链表中间,以及链表尾端3种情况。//在单链表pos位置处插入节点,返回链表表头指针//pos从0开始计算,0表示插入到head节点后面node *insert_node(node *head, int pos, int data){ int i = 0; node

2017-08-07 10:37:11 1639

原创 编程实现一个单链表的查找

【单链表节点的查找】://查找单链表pos位置的节点,返回节点指针//pos从0开始,0返回head节点node *search_node(node *head, int pos){ node *p = head->next; if(pos < 0) //pos位置不正确 { cout << "in

2017-08-07 09:39:12 900

原创 编程实现一个单链表的打印

【单链表的打印】://单链表的打印void print(node *head){ node *p; int index = 0; if(head->next == NULL) //链表为空 { cout << "Link is empty"<<endl; return; } p = head->

2017-08-06 23:05:31 1186

原创 编程实现一个单链表的测长

【单链表的测长】://单链表的测长//返回单链表长度int length(node *head){ int len = 0; node *p; p = head->next; while(p != NULL) { len++; p = p->next; } return len;}

2017-08-06 22:57:58 467

原创 链表(建立)

【链表节点的定义】typedef struct node{ int data; //节点内容 node *next; //下一个节点}node;//创建单链表node *create(){ int i = 0; //链表中数据的个数 node *head, *p, *q; int x = 0; head = (node *

2017-08-06 22:29:12 343

转载 纯虚函数

在许多情况下,在基类中不能对虚函数给出有意义的定义,而把它说明为纯虚函数,它的定义留给该基类的派生类去做,所以,纯虚函数是一种特殊的虚函数。它的一般格式如下: class  类名{      virtual  类型  函数名(参数表)= 0;      ... };例如,有如下程序:#include #include using namespace std;

2017-08-04 16:52:58 394 1

原创 虚函数的定义以及作用

虚函数是动态联编的基础,虚函数是成员函数,且为非static的成员函数。说明虚函数的方法如下:virtual 类型说明符 函数名(参数表)其中,被关键字virtual说明的函数称为虚函数。提示:一旦一个函数被声明为虚函数,即使重新定义类的时候没有声明虚函数,那么它从这点之后的继承层次结构中都是虚函数。      如果某类中的一个成员函数被说明为虚函数,这就意味着该成员函数在派生类中

2017-08-04 15:55:50 3776

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除