函数 free 的原型
函数 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 的原型的更多相关文章
- 前端笔记之JavaScript面向对象(一)Object&函数上下文&构造函数&原型链
一.对象(Object) 1.1 认识对象 对象在JS中狭义对象.广义对象两种. 广义:相当于宏观概念,是狭义内容的升华,高度的提升,范围的拓展.狭义:相当于微观概念,什么是“狭”?因为内容狭隘具体, ...
- this直接加在函数或者是 “原型”对象的区别
如果加在函数上,可以用函数直接调用,如果是加在原型对象时,那就的创建新对象,才能使用,最重要的是影响继承 直接加在函数上的,不能被新对象继承
- 关于gcc编译器中函数不用进行原型声明的解释
经过大量实验和参考网上的说法得出一个结论: gcc编译器中,函数可以不用提前进行原型声明,编译器会把函数调用同时认为是声明.需要注意的是,由于函数调用的时候并没有写明函数返回值,这是gcc把调用当成声 ...
- string函数库的原型
#ifndef __HAVE_ARCH_STRCPY /** * strcpy - Copy a %NUL terminated string * @dest: Where to copy the s ...
- JavaScript (JS) 面向对象编程 浅析 (含对象、函数原型链、闭包解析)
1. 构造函数原型对象:prototype ① 构造函数独立创建对象,消耗性能 function Person(name) { this.name = name; this.sayHello = fu ...
- JavaScript学习笔记(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- JavaScript学习总结(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- 关于fefo函数
feof是C语言标准库函数函数,其原型在stdio.h中,其功能是检测流上的文件结束符. 函数原型: int feof(FILE *stream); 返回值:如果文件结束,则返回非0值,否则返回0 在 ...
- 【repost】JS原型与原型链终极详解
一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象.下面举例说明 function f ...
随机推荐
- taro 打包微信小程序运行失败(一)
1.报错信息 thirdScriptError sdk uncaught third Error Cannot read property 'createTextNode' of undefined ...
- scribe 搭建遇到的问题
1.如果安装了多个boost版本或boost路径不是scribe脚本指定的话,会出现问题: checking whether the Boost::System library is availabl ...
- vnc/route/ifconfig 配置
重启网卡的方法: 1 network 利用root帐户 # service network restart ############################################## ...
- Eclipse在线安装hibernate tools插件
今天在看hibernate的视频,当讲到eclipse安装hibernate插件时,视频中的方法是安装本地的一个文件,可我电脑里并没有,于是找网上的在线安装方法,发现有两种,下面介绍这两种——> ...
- 微信公众平台消息接口PHP版
使用前提条件:拥有一个公网上的HTTP服务器主机空间,具有创建目录.上传文件等权限.推荐新浪的SAE.http://sae.sina.com.cn/ 首先请注册微信公众平台的账号,注册地址:http: ...
- static 与单例模式、auto_ptr与单例模式、const 用法小结、mutable修饰符
一.static 与单例模式 单例模式也就是简单的一种设计模式,它需要: 保证一个类只有一个实例,并提供一个全局访问点 禁止拷贝 C++ Code 1 2 3 4 5 6 7 8 9 10 11 ...
- 基于CentOS的MySQL学习补充四--使用Shell批量从CSV文件里插入数据到数据表
本文出处:http://blog.csdn.net/u012377333/article/details/47022699 从上面的几篇文章中,能够知道怎样使用Shell创建数据库.使用Shell创建 ...
- tcp_handle_req: Made 4 read attempts but message is not complete yet - closing connection
一.现象 测试opensips时遇到这么一个错误提示: ERROR:core:tcp_handle_req: Made read attempts but message is not complet ...
- 统计重复字符串 如 eeefffkkkhjk 得到如下结果 3e3f3khjk;
//统计重复字符串 如 eeefffkkkhjk 得到如下结果 3e3f3khjk; string zipStr = Console.ReadLine(); var charList = zipStr ...
- zeroclipboard解决跨域问题
ZeroClipboard.setDefaults({ moviePath: "//d2glos6gx2bw40.cloudfront.net/C8QpR9/images/flash/Zer ...