自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 图说C++对象模型:对象内存布局详解

图说C++对象模型:对象内存布局详解0.前言文章较长,而且内容相对来说比较枯燥,希望对C++对象的内存布局、虚表指针、虚基类指针等有深入了解的朋友可以慢慢看。本文的结论都在VS2013上得到验证。不同的编译器在内存布局的细节上可能有所不同。文章如果有解释不清、解释不通或疏漏的地方,恳请指出。1.何为C++对象模型?引用《深

2017-03-23 14:53:45 325

转载 关于整形溢出(转载至CollShell)

整型溢出有点老生常谈了,bla, bla, bla… 但似乎没有引起多少人的重视。整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击,比如最近OpenSSL的heartbleed事件,就是一个buffer overread的事件。在这里写下这篇文章,希望大家都了解一下整型溢出,编译器的行为,以及如何防范,以写出更安全的代码。什么是整型溢出C语言的整型问题相信大家并不陌生了

2015-12-08 15:04:26 551

转载 深拷贝与浅拷贝

C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect  {  private:      int width;      int height;  }; 

2015-12-08 14:05:40 183

原创 关于单链表的一些基本操作

1.首先创建一个包含数据和指向该结构体的结构体即链表的节点#pragma one#include#include#includetypedef int DataType;typedef struct ListNode{ DataType _data; struct ListNode* _next;}ListNode; 2.链表的基本操作函数//创造一个存储x的新节点Li

2015-11-19 11:40:24 228

原创 关于sizeof和strlen

#include#includevoid Func(char str_arg[100]){ printf("%d\n", sizeof(str_arg));//4}int main(void){ char str[] = "Hello"; printf("%d\n", sizeof(str));//6 printf("%d\n", strlen(str));//5 char

2015-11-05 12:33:23 221

原创 可变参数

#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )//((sizeof(3) + sizeof(int) - 1) & ~(sizeof(int) - 1) )//((3 + 4 - 1) &~(4 - 1) ) 将n的值提升为int(可为其他类型)的整数倍// 例如 3->4 2

2015-11-03 09:09:44 230

转载 深入理解按位异或运算符

参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即:   0^0 = 0,       1^0 = 1,       0^1 = 1,       1^1 = 0例如:10100001^00010001=10110000按位异或的3个特点:(1) 0^0=0,0^1=1  0异或任何数=任何数(2) 1^0=1,1^1=0  1异或任何

2015-11-01 11:24:41 242

原创 最大公约数与最小公倍数

#include void main() { int m,n,p,s; printf("输出m和n的值:"); scanf("%d %d",&m,&n); p = m * n; while(n != 0) { s = m % n;//核心算法为:辗转相除法 m = n; n = s; } printf("最大公约数为%d\n",m); pr

2015-10-24 23:19:56 239

原创 求出1--100之间的素数

方法一:#include void main() { int i,j; for(i = 2;i <= 100;i++) { for(j = 2;j <=i/2;j++)//如果一个数不能整除小于它本身一半的任何数,这个数必为素数 { if(i % j ==0) break; } if(j > i/2) printf("%d ",i)

2015-10-24 23:12:37 863

转载 输入一行字符,统计其中有多少个单词,单词之间用空格分隔

在编写程序中容易直接写成计算这一行字符串中的字符的个数例如:#include void main() { char ar[80]; gets(ar); int num = 0,space = 0; int i; for(i = 0;ar[i] != '\0';i++) { if(ar[i] != ' ') num++; else space++;

2015-10-22 12:05:53 2777

原创 斐波那契数列

#include void main() { int ar[20] = {1,1},i; for(i = 2; i < 20;i++) ar[i] = ar[i - 2] + ar[i - 1]; for(i = 0; i < 20;i++) { printf("%d\t",ar[i]); if(i >1 && (i + 1) % 5 ==0) pr

2015-10-18 21:26:30 179

原创 malloc、calloc、realloc与free简要

1.malloc函数      malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。  函数原型为  void *malloc(unsigned int size);     size不允许负值 返回值  如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不

2015-10-18 17:39:46 256

原创 用函数实现两个数的交换

#include void main() {int i,j;void swap(int*x,int*y);printf("i = ");scanf("%d",&i);printf("j = ");scanf("%d",&j);printf("\n");swap(&i,&j);printf("i = %d,j = %d\n",i,j); } voi

2015-10-17 23:34:45 771

原创 字符串初始化与赋值区别

字符串初始化和赋值的区别:  初始化 Char str[] = “abcdef” // 合法   赋值char str[10] ;str[10] = “abcde”; //错误1.字符串赋值过程中不存在str[10],最大仅能是str[9]、2.在字符串赋值的过程中需要从str[0]开始

2015-10-17 17:45:51 466

原创 冒泡排序法

#include void main() {int ar[10];int i,j,t;printf("输入十个数:");for(i = 0;i scanf("%d",&ar[i]);for(j = 0;j for(i = 0;i if(ar[i] > ar[i + 1]){t = ar[i];ar[i] = ar[i + 1];ar[i +

2015-10-17 11:40:06 344

原创 n个不同的数可组成多少个不同的三位数

#include void main() {int i,j,k;int S,count = 0,n;printf("输入n的个数:");scanf("%d",&n);for(i = 0;i for(j = 0;i for(k = 0;k {                S = 100 * i + 10 * j + k;count++;print

2015-10-13 22:07:34 502

原创 输出菱形

用c语言实现菱形的输出#include void main() {    int i,m,n;for(i = 0;i {for(m = 0;m printf(" ");for(n = 0;n printf("*");printf("\n");}for(i = 0;i {for(m = 0;m printf(" ");for(n =

2015-10-13 21:33:16 409

空空如也

空空如也

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

TA关注的人

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