函数 free 的原型如下:

void free( void * memblock ); 为什么 free 函数不象 malloc 函数那样复杂呢?

这是因为指针 p 的类型以及它所指 的内存的容量事先都是知道的,语句 free(p)能正确地释放内存。

如果 p 是 NULL 指针, 那么 free 对 p 无论操作多少次都不会出问题。

如果 p 不是 NULL 指针,那么 free 对 p 连续操作两次就会导致程序运行错误

 #include <iostream>

 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
//声明引用参数的函数模板原型
template <class T> void swap(T &x, T &y); //定义一个结构类型
struct student {
int n;
char name[];
float grade;
}; int main(int argc, char** argv) {
//交换两个int型变量中的数据
int m=,n=;
cout<<"m="<<m<<" n="<<n<<endl;
swap(m,n);
cout<<"m="<<m<<" n="<<n<<endl;
cout<<"-------------------"<<endl; //交换两个double型变量中的数据
double x=3.5,y=5.7;
cout<<"x="<<x<<" y="<<y<<endl;
swap(x,y);
cout<<"x="<<x<<" y="<<y<<endl;
cout<<"-------------------"<<endl; //交换两个char型变量中的数据
char c1='A',c2='a';
cout<<"c1="<<c1<<" c2="<<c2<<endl;
swap(c1,c2);
cout<<"c1="<<c1<<" c2="<<c2<<endl;
cout<<"-------------------"<<endl; //交换两个结构变量中的数据
student s1={,"ZhangHua",};
student s2={,"LiWei",95.5};
cout<<"s1: ";
cout<<s1.n<<" "<<s1.name<<" "<<s1.grade<<endl;
cout<<"s2: ";
cout<<s2.n<<" "<<s2.name<<" "<<s2.grade<<endl;
swap(s1,s2);
cout<<"swap(s1,s2):"<<endl;
cout<<"s1: ";
cout<<s1.n<<" "<<s1.name<<" "<<s1.grade<<endl;
cout<<"s2: ";
cout<<s2.n<<" "<<s2.name<<" "<<s2.grade<<endl;
return ;
} //定义名为swap的函数模板用于交换两个变量中的数据
template <class T> void swap(T &x, T &y)
{
T temp;
temp=x;
x=y;
y=temp;
}

函数 free 的原型的更多相关文章

  1. 前端笔记之JavaScript面向对象(一)Object&函数上下文&构造函数&原型链

    一.对象(Object) 1.1 认识对象 对象在JS中狭义对象.广义对象两种. 广义:相当于宏观概念,是狭义内容的升华,高度的提升,范围的拓展.狭义:相当于微观概念,什么是“狭”?因为内容狭隘具体, ...

  2. this直接加在函数或者是 “原型”对象的区别

    如果加在函数上,可以用函数直接调用,如果是加在原型对象时,那就的创建新对象,才能使用,最重要的是影响继承 直接加在函数上的,不能被新对象继承

  3. 关于gcc编译器中函数不用进行原型声明的解释

    经过大量实验和参考网上的说法得出一个结论: gcc编译器中,函数可以不用提前进行原型声明,编译器会把函数调用同时认为是声明.需要注意的是,由于函数调用的时候并没有写明函数返回值,这是gcc把调用当成声 ...

  4. string函数库的原型

    #ifndef __HAVE_ARCH_STRCPY /** * strcpy - Copy a %NUL terminated string * @dest: Where to copy the s ...

  5. JavaScript (JS) 面向对象编程 浅析 (含对象、函数原型链、闭包解析)

    1. 构造函数原型对象:prototype ① 构造函数独立创建对象,消耗性能 function Person(name) { this.name = name; this.sayHello = fu ...

  6. JavaScript学习笔记(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  7. JavaScript学习总结(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  8. 关于fefo函数

    feof是C语言标准库函数函数,其原型在stdio.h中,其功能是检测流上的文件结束符. 函数原型: int feof(FILE *stream); 返回值:如果文件结束,则返回非0值,否则返回0 在 ...

  9. 【repost】JS原型与原型链终极详解

    一. 普通对象与函数对象  JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象.下面举例说明 function f ...

随机推荐

  1. mybatis模糊查询语句

    articletitle like concat('%',#{articletitle},'%')

  2. Linux 监测内存常用的工具sar free vmstat

    Linux 检测内存常用的工具sar free vmstat free 内存统计信息解释 total 内存总量used 内存使用的大小free 内存剩余大小shared 共享内存大小buffers 块 ...

  3. Android—构建安全的Androidclient请求,避免非法请求

            今天通过实例来介绍一下怎样构建安全的Android客户端请求.避免非法请求:         server端代码:         代码1-工具类: package com.ghj.p ...

  4. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 SharePoint 管理中心

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 SharePoint 管理中心         虽然这本书不重于管理.对 ...

  5. linux 16进制 产看文件

    hexdump - ascii, decimal, hexadecimal, octal dump  查看十六机制的首选工具.  -c 每单元以字节为单位,显示出对应的ASCII码  -C 每单元以字 ...

  6. Linux的内存映像导出接口—kcore

    发表于 2012-4-10 15:00   /proc/kcore文件提供了整个机器的内存映像,和vmcore不同的是,它提供了一个运行时的内存映像,为此和vmcore一样,内核提供了一个类似的但是稍 ...

  7. 【转帖】Dubbo:来自于阿里巴巴的分布式服务框架

    http://www.biaodianfu.com/dubbo.html Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被 ...

  8. php.ini中的pcre

    当页面代码没有任何问题,也没有报错.但是页面的循环很多,请求导致开销很大的时候,有可能要改php.ini中的pcre部分. [Pcre]pcre.recursion_limit=-1pcre.back ...

  9. EMQ学习---客户链接资源消耗

    Erlang进程消耗EMQ对客户端链接使用链接进程(emqtt_client)和session进程(emqtt_session)分开的策略. 当一个mqtt的客户端连接到EMQ的服务器上的时候,首先会 ...

  10. C++的引用与const指针的关系以及各种传递方式

    首先我们知道 const int *p 与 int const *p 是一样的,即 *p 是常量:而 int * const p 跟上面是不一样的,即 p 是常量:我们知道引用只是一个别名,与变量共享 ...