c++
mir_age
欲买桂花同载酒
终不似
少年游
展开
-
动态数组
数组变量和指针变量C++数组变量实际是指针变量,指向数组的第一个索引变量 有一个重要区别是不可更改数组变量中的指针值//p和a是同类型变量 int a[10]; typedef int* IntPtr; IntPtr p; p = a; //合法 IntPtr p2; ... //为p2赋一个指针值 a = p2; //非法, 不能为数组a赋不同的地址 创建和使用动态数组动态数组使用new创原创 2017-05-22 23:48:01 · 284 阅读 · 0 评论 -
c++ 学习二维数组与指针
#include <stdio.h>void func(int p[][4])//形参代表指针变量 { //按列打印二维数组 for (int i = 0; i < 4; i++) { for (int j = 0; j < 3; j++) { printf("%d\n", *(*(p + j) + i));原创 2017-06-26 20:26:33 · 246 阅读 · 0 评论 -
C++ 指针与数组的练习
int main() { int array[10] = { 6, 1, 2, 4, 5, 7, 9, 8 }; int *p1 = array; int *p = &array[0]; printf("%p, %p\n", p, p1);// == printf("*p = %d\n", *p);//6 printf("*p1 = %d\n", *原创 2017-06-25 15:58:38 · 1690 阅读 · 0 评论 -
c++学习 动态链接库的使用
DLL 是 Dynamic Link Library 的缩写,译为“动态链接库”。DLL也是一个被编译过的二进制程序,可以被其他程序调用,但与 exe 不同,DLL不能独立运行,必须由其他程序调用载入内存。DLL 中封装了很多函数,只要知道函数的入口地址,就可以被其他程序调用。Windows API中所有的函数都包含在DLL中,其中有3个最重要的DLL: Kemel32.dll:它包含那些用于管理内原创 2017-06-25 11:48:44 · 403 阅读 · 0 评论 -
大数据乘法算法
#define _CRT_SECURE_NO_WARNINGS#include <iostream> #include <stdlib.h> #include <string.h> using namespace std;struct bigdatacom { protected: char dataa[100]; char datab[100]; public: void原创 2017-07-04 16:43:51 · 561 阅读 · 0 评论 -
c++ 重载new和delete实现内存管理
#include <iostream> #include <stdlib.h> using namespace std; //全局的new delete监视所有内存释放分配 //局部的new delete监视某个类的所有分配释放void* operator new(size_t size) { if (size == 0) { return 0; }原创 2017-07-04 11:31:05 · 414 阅读 · 0 评论 -
左值引用与右值引用
左值是可以放在等号左边被赋值的值 右值是在赋值号右边取出值赋给其他变量的值 左值必须在要在内存有实体,右值可以在内存也可以在寄存器 一个&代表引用左值,两个&代表引用右值 右值引用用于对象拷贝,直接从寄存器里拷贝,不需要在内存中建立副本—内存优化#include <iostream> #include <stdlib.h> using namespace std;/* 左值是可以放在等号左边原创 2017-07-02 13:31:54 · 421 阅读 · 1 评论 -
二进制文件读写
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <stdlib.h> #include <string.h>/* size_t fread(void *buffer, size_t size, size_t count, FILE *stream); size_t fwrite(const void* buffer, size_t原创 2017-07-01 11:08:45 · 336 阅读 · 0 评论 -
c++ 学习 内存四区
静态变量是指内存位置在程序执行期间一直不变的变量. 一个代码块内部的静态变量只能在这个代码块内部被访问. static变量在程序一开始加载内存的时候就已经存在了,并且其初值只能初始化一次. 代码块之外的静态变量的作用域为定义这个变量的文件内部. extern int n; //变量n在其他文件中定义. c语言中全局变量和静态变量会自动初始化为0 1.1 内存四区1.1.1 代码区 代码区co原创 2017-06-29 22:27:22 · 377 阅读 · 0 评论 -
关于指针的初步学习
指针变量的声明虽然指针是内存地址,而且内存地址是数字,但不能将指针存储到int或double类型的变量中。容纳指针的变量必须声明为指针类型Type_Name *Variable_Name1, *Variable)Name2; //示例 int *p1, *p2, v1, v2; //p1,p2是指针类型变量;v1,v2是普通变量假如指针变量p1包含变量v1的地址,就说指针变量“指向变量v1”//可原创 2017-05-21 16:01:17 · 298 阅读 · 0 评论 -
学习c++中的链表
为什么要使用链表我们知道,数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址都可一个简单的公式计算出来,因此这种结构可以有效的对数组元素进行随机访问。但若对数组元素进行插入和删除操作,则会引起大量数据的移动,从而使简单的数据处理变得非常复杂,低效。 为了能有效地解决这些问题,一种称为“链表”的数据结构得到了广泛应原创 2017-05-24 19:57:38 · 416 阅读 · 0 评论 -
c++学习 函数指针
#include <stdio.h> #include <process.h> #include <stdlib.h>/* 1.一个函数在编译的时候会分配一个入口地址,这个入口地址就是函数的指针,函数名称就代表函数的入口地址 2.将函数的指针作为另一个函数的参数称为回调函数*/ void func(int n) { printf("func %d\n", n); }int mymax(int原创 2017-06-27 09:40:33 · 211 阅读 · 0 评论