教学内容:
内存的使用
动态内存分配malloc函数
分配内存时使用sizeof运算符
用指针访问内存
以数组的形式访问内存 一、内存的使用
堆(heap)
在程序执行期间分配内存时,内存区域中的这个空间称为堆(heap)。,malloc,calloc
栈(stack)
一般是函数分配给本地的参数和本地变量(局部变量)。 二、动态内存分配malloc函数
在C语言中最简单的内存分配函数是malloc函数,原型如下:
void *malloc( size_t size );
// 字节(BYTE) char 成功将返回分配内存空间的地址值,失败将返回NULL也就是0;
例:
int *pNum=(int*) malloc(); //分配100字节,也就是25个int类型的空间 三、分配内存时使用sizeof运算符
例:
int *pNum=(int*) malloc(*sizeof(int)); //分配字节,也就是个int类型的空间
double *pfNum=(double *) malloc(*sizeof(double )); 四、用指针访问内存
int *pNum=(int*) malloc(*sizeof(int));
int i,*p;
p=pNum;
for (i=;i<;i++)
{
*pNum++=i;
}
pNum=p;
for (i=;i<;i++)
{
printf("%d,", *pNum++); //pNum=pNum+25;
} getchar();
五、以数组的形式访问内存
int *pNum=(int*) malloc(*sizeof(int)); //3*8,4*6,6*4,2,12
int i; for (i=;i<;i++)
{
pNum[i]=i;
} for (i=;i<;i++)
{
printf("%d,", pNum[i]); //pNum=pNum+25;
}