根据地址来让编译器自己帮你去算,首先把a强制转换为地址,然后找以c为首地址,偏移量为b的地址,就是a+b的值。
例如a=5,b=10
c=(char*) a,此时c的地址为0x00000005
c[b] 就是c的地址偏移sizeof(char)*b
最终得到了c[b]的地址就是0...
分类:
其他好文 时间:
2015-01-17 01:01:27
阅读次数:
179
struct {*elem ,length,size}L init: 申请elem空间,如果申请成功,length=0;size =100 忽略:(SqList L),把声明过的列表用来初始化int insert: elem是首地址,判断elem是否为空,空返回,否则获取elem[length].....
分类:
其他好文 时间:
2015-01-16 14:34:27
阅读次数:
261
一:起因
(1)函数指针是指向函数的指针变量,即本质是一个指针变量,是一个指向函数(可能是代码区)的首地址的指针,正如我们都知道,数组名就是指向数组第一个元素的常量指针,对于一个函数而言,函数名也是指向函数第一条指令的常量指针。大话
回调函数 和 枚举
(2)而回调函数就是C语言里面对函数指针的高级应用,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给...
分类:
其他好文 时间:
2015-01-10 22:26:03
阅读次数:
257
[NOI1999] 内存分配
时间限制:1 s 内存限制:128 MB
内存是计算机重要的资源之一,程序运行的过程中必须对内存进行分配。
经典的内存分配过程是这样进行的:
内存以内存单元为基本单位,每个内存单元用一个固定的整数作为标识,称为地址。地址从0开始连续排列,地址相邻的内存单元被认为是逻辑上连续的。我们把从地址i开始的s个连续的内存单元称为首地址为i长度为s的地址片。
运行过程中有若干进程需要占用内存,对于每个进程有一个申请时刻T,需要内存单元数M及运行时间P。在运行时间P内(即T时刻开始,T+...
分类:
其他好文 时间:
2015-01-10 14:00:49
阅读次数:
233
new 运算符
1、指针变量 = new 数据类型, 如:int *p; p=new int;
2、new从内存中卫程序分配一块内存空间,并返回指向该内存的首地址,该地址存放于指针变量中
new
先分配内存,做复杂类型的构造
delete
释放
delete运算符
delete 指针变量; 如:delete p;
(1)用new获取内存空间,必须用delete进行释...
分类:
编程语言 时间:
2015-01-10 10:03:51
阅读次数:
178
背景:做了三个半小时,代码能力堪忧啊,各种调试,各种出错,要分析一下,这些错点尽量不能再错。
学习:1.对于字符串数组,要把每一行都开大一位,该位用来存放'\0',否则将会出现未知输出。也就是说:字符串二维数组的每一行都可以看做一个字符数组,结尾都有一个'\0'.printf在用'%s'格式符输出字符串,总是从给定的首地址开始,遇到'\0'结束。
2.写程序的时候要有动态的眼光来看待当前写...
分类:
其他好文 时间:
2015-01-09 17:22:24
阅读次数:
196
函数指针是指向函数的指针变量,即本质是一个指针变量。 int (*f) (int x); /*声明一个函数指针*/ f=func; /*将func函数的首地址赋给指针f */指向函数的指针包含了函数的地址,可以通过它来调用函数。声明格式如下:类型说明符(*函数名)(参数)其实这里不能称为函数名,应该...
分类:
其他好文 时间:
2015-01-07 14:43:12
阅读次数:
140
一:起因
(1)指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针,即我们常见的函数类型,且返回值是指针。
(2)函数指针是指向函数的指针变量,即本质是一个指针变量,是一个指向函数(可能是代码区)的首地址的指针,正如我们都知道,数组名就是指向数组第一个元素的常量指针(详见《数组拾遗》)。同理,对于一个函数而言,函数名也是指向函数第一条指令的常量指针。而编译器要做的就是在程...
分类:
其他好文 时间:
2015-01-07 11:09:36
阅读次数:
168
...不管Student obj[10];//obj是指针首地址还是Student* pStudent=new Student[10];...deletepStudent; ... 实际上最终给各个对象初始化的时候调用的都是默认的构造函数(结构体是没有构造函数的),如果有重载的构造函数的话,再使用这...
分类:
编程语言 时间:
2015-01-07 10:49:25
阅读次数:
211
在C语言和C++的动态内存的使用方法是不同的,在C语言中要使用动态内存要包含一个头文件即#include或者是#include然后用C语言的系统函数void * malloc(usigned size);来获得动态分配的内存,这个函数参数是需要申请的内存的字节数,返回的是一个申请到的内存的首地址,这...
分类:
编程语言 时间:
2015-01-05 11:04:27
阅读次数:
202