memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。memmove的处理措施:(1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝(2)当源内...
分类:
编程语言 时间:
2015-08-13 11:41:41
阅读次数:
131
malloc、calloc、realloc、new以及alloca函数
一、综合叙述
1) malloc 函数: void *malloc(unsigned int size)
在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功,则返回所分配内存空间的首地址,否则返回NULL,申请的内存不会进行初始化。
2)calloc 函数: void *calloc...
分类:
其他好文 时间:
2015-08-12 16:54:19
阅读次数:
199
int m=10,n=5;int **c=new int*[m];//分配m个指针的空间for(int i=0;i<m;i++) c[i]=new int[n];//每个指针指向存储n个整型的空间首地址for(int i=0;i<m;i++) delete []c[i];dele...
分类:
编程语言 时间:
2015-08-07 23:57:31
阅读次数:
189
1 #include 2 3 char str[]="Hello~world!"; 4 5 char *ptr=str;//数组名只代表数组元素的首地址,即str[0]的地址, 6 //故此处也可以这样写: char *ptr=str[0]; 7 8 void main() 9 {10 1...
分类:
编程语言 时间:
2015-08-06 21:58:14
阅读次数:
125
在每一个成员函数中都包含一个常量指针,我们称其为this指针,该指针指向调用本函数的对象,其值为该对象的首地址。通过该指针,我们可以在成员函数的函数体内访问对象。其中this是C++的一个关键字。例1:迅雷会员分享如例1程序所示,该例向我们展示了this指针的使用方法。当然在我们在实际的程序设计中并...
分类:
编程语言 时间:
2015-08-05 14:31:11
阅读次数:
150
结构体:struct1、结构体变量的首地址能够被其最宽基本类型成员的大小所整除。2、结构体每个成员相对于结构体首地址的偏移量(offset)都是成员的整数倍。3、结构体的总大小为结构体最宽基本类型成员大小的整数倍。cpu的字长:32位的cpu或64位的cpu32位或64位指的是cpu的字长字长实际上...
分类:
编程语言 时间:
2015-08-04 20:37:32
阅读次数:
159
指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址。结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址。设ps为指向结构数组的指针变量,则ps也指向该结构数组的0号元素,ps+1指向1号元素,ps+i则指向i号元素。这与普通数组的情况是一致的。...
分类:
编程语言 时间:
2015-08-03 06:24:52
阅读次数:
131
数组: 数组要么是在静态存储区上创建(如全局数组),要么是在栈上创建的。数组名代表着段连续的内存,其地址和容量在生命周期内是不会改变的,而只能改变其数组内容。指针: 指针是一种指针类型的变量,变量为一个内存的首地址,可以改变的,所以一般可以用指针来指向动态开辟的内存。下面以字符串为例来比较数...
分类:
编程语言 时间:
2015-07-30 16:40:16
阅读次数:
134
简单学习一下set集合容器
头文件#include
using namespace std;
sets(必须是有定义'
向s中加数据:s.insert(elem)插入elem之后元素默认按升序排序,集合中是没有重复元素的,每个不同的元素只存一个
s.clear()清空集合
s.begin()返回集合首地址
s.end()返回集合尾地址的下一个地址
访问几何元素:
set::ite...
分类:
其他好文 时间:
2015-07-29 17:13:40
阅读次数:
111
int* a = new int; 分配了存储空间,但没有赋初值
int* a = new int(10) 分配了存储空间,并赋初值,即*a = 10
int* a = new int[100] 分配了存储空间,但没有赋初值,a为长度为100的数组的首地址
int* a = new int[100]() 分配了存储空间,并将数组清零,a为长度...
分类:
编程语言 时间:
2015-07-27 11:15:57
阅读次数:
130