C++ 第十一课 标准c内存函数


calloc()


分配一个二维储存空间


free()


释放已分配空间


malloc()


分配空间


realloc()


改变已分配空间的大小


calloc

语法:

 
  #include <stdlib.h>
  void *calloc( size_t num, size_t size );

功能: 函数返回一个指向num 数组空间,每一数组元素的大小为size。如果错误发生返回NULL。

相关主题:
free(),
malloc(), and realloc().


free

语法:

 
  #include <stdlib.h>
  void free( void *ptr );

功能: 函数释放指针ptr指向的空间,以供以后使用。指针ptr 必须由先前对malloc(), calloc(), realloc()的调用返回。例如:

    typedef struct data_type {
      int age;
      char name[20];
    } data;
    
    data *willy;
    willy = (data*) malloc( sizeof(willy) );
    ...
    free( willy );

相关主题:
calloc(), malloc(), and realloc().


malloc

语法:

 
  #include <stdlib.h>
  void *malloc( size_t size );

功能: 函数指向一个大小为size的空间,如果错误发生返回NULL。 存储空间的指针必须为堆,不能是栈。这样以便以后用free函数释放空间。例如:

    typedef struct data_type {
      int age;
      char name[20];
    } data;
    
    data *bob;
    bob = (data*) malloc( sizeof(data) );
    if( bob != NULL ) {
      bob->age = 22;
      strcpy( bob->name, "Robert" );
      printf( "%s is %d years old\n", bob->name, bob->age );
    }
    free( bob );

相关主题:
free(),
realloc(), and calloc().


realloc

语法:

 
  #include <stdlib.h>
  void *realloc( void *ptr, size_t size );

功能: 函数将ptr 对象的储存空间改变为给定的大小size。 参数size可以是任意大小,大于或小于原尺寸都可以。 返回值是指向新空间的指针,如果错误发生返回NULL。

相关主题:
free(),
malloc(), and calloc().

时间: 2024-11-07 16:46:46

C++ 第十一课 标准c内存函数的相关文章

C++ 第九课 标准c数学函数

abs() 求绝对值 acos() 求反余弦 asin() 求反正弦 atan() 求反正切 atan2() 求反正切,按符号判定象限 ceil() 求不小于某值的最小整数 (求上界) cos() 求余弦 cosh() 求双曲余弦 div() 求商和余数 exp() 求e的幂 fabs() 求浮点数的绝对值 floor() 求不大于某值的最大整数 (求下界) fmod() 求模数 frexp() 求数的科学表示法形式 labs() 求长整型数的绝对值 ldexp() 以科学计数法计算 ldiv(

【C++探索之旅】第一部分第十一课:小游戏,猜单词

内容简介 1.第一部分第十一课:小游戏,猜单词 2.第一部分第十二课预告:指针一出,谁与争锋 小练习 上一课<[C++探索之旅]第一部分第十课:文件读写,海阔凭鱼跃>中我们学习了读写文件的知识. 第一部分的课程也快接近尾声了,下一课我们会学习很重要的指针的知识.之后,我们就进入第二部分:面向对象编程了.哈哈哈,激动不? 目前为止,我们也学了不少内容:编译基本原理,IDE,变量,函数,条件语句,循环语句,引用,数组,文件读写,等等.你应该为自己感到自豪. 俗语说得好:实践是最好的老师.我们学了那

PHP第四课 了解常用的函数

学习概要: 一.语言结构 二.自定义函数 三.变量作用域 四.静态变量 五.函数返回值 六.参数 七.默认参数 八.引用参数 九.可变个数函数 十.回调函数 十一.变量函数 十二.递归函数 十三.文件包含 函数分类 1.自定义函数 2.回调函数 3.变量函数 4.递归函数 语言结构: if() for() while() switch() echo() print() array() list() foreach() isset() unset() empty() exit() die() in

标准I/O函数的调用都会使得底层I/O调用被履行

该类型中,文件的实践操作是缓存被充溢以后进行的缓存没有彻底被充溢时,体系不会主动将文件写入磁盘.除非体系调用改写(flush操作强行将数据写入磁盘. 输入和输出进程中遇到行完毕象征的时分,标准I/O库就履行实践的I/O操作.体系不会为流分配内存,每一次标准I/O函数的调用都会使得底层I/O调用被履行  文件的翻开与封闭 当体系操作一个文件时,会在内存中为该文件分配一个FILE构造的内存区域,用来寄存与该文件有关的信息(如文件称号,文件状况以及文件当时方位等) FILE即是一个构造体.FILE指针

条款十一: 为需要动态分配内存的类声明一个拷贝构造函数和一个拷贝赋值运算符

看下面一个表示string对象的类: // 一个很简单的string类 class string { public: string(const char *value); ~string(); ... // 没有拷贝构造函数和operator= private: char *data; }; string::string(const char *value) { if (value) { data = new char[strlen(value) + 1]; strcpy(data, value

字符串基本操作以及内存函数

/* ============================================================================ Name : TestString.c Author : lf Version : Copyright : Your copyright notice Description : C语言字符串相关操作以及内存函数 1 在Java中有String数据类型,但是在C语言中没有 2 在C语言中一般用字符数组来表示字符串,因为在C中没有Strin

C Primer Plus (第五版) 第十一章 字符串和字符串函数 编程练习

第十一章 字符串和字符串函数 编程练习 设计并测试一个函数,可以输入读取n个字符(包括空格.制表符.换行符),把结果存储在一个数组中,这个数组的地址通过参数来传递. #include <stdio.h> #define LEN 80 char * getch(char a[], int n); int main(void) { char a[LEN]; if (getch(a, 4)) puts(a); else printf("没有读取\n"); return 0; }

C语言-第31课 - 程序的内存布局

第31课 - 程序的内存布局 代码在可执行程序中有如下的对应关系 有初始值的放在data段,没有初始的放在bss段.静态存储区就对应了这两个区域. 我们写的函数,可移执行的代码段,放在text段. 这里并不见堆和栈的踪影,因为这只是我们的可执行文件的布局,并不会我们执行起来,进程的布局,所以是看不到堆和栈的. 文件布局在内存中的映射 高地址内存 File header 栈 .text 堆 .data .bss .data .bss .text 未映射区域 a.out a.out进程的地址空间 当

文件I/O和标准I/O函数

读取/写入  相对于文件而言 输入/输出 相对于程序/内存而言 一切皆文件,键盘.显示屏也是文件,只不过是特殊的标准文件: 标准文件:标准输入.标准输出.标准错误:---->对应的文件指针:stdin.stdout.stderr:--->键盘.显示器 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 二进制与文本: ++++++++++++++++++++++++++++++++++++++++++++++++++