转载:http://blog.csdn.net/hondely/article/details/6779887

转载:http://bbs.csdn.net/topics/390721031

转载:http://wenda.tianya.cn/question/05cf48b56c85c114

转载:http://www.cnblogs.com/wft1990/p/5962898.html

C语言内存分配

1.函数malloc:

调用形式:

    (类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为"size" 字节的连续区域。函数的返回值为该区域的首地址。

“类型说明符”表示把该区域用于何种数据类型。(类型说明符*)表示把返回值强制转换为该类型指针。“size”是一个无符号数。

例如:char* p=(char *) malloc (100); 表示分配100个字节的内存空间,并强制转换为字符数组类型, 函数的返回值为指向该字符数组的指针, 把该指针赋予指针变量p。

2.函数 calloc:

调用形式:

     (类型说明符*)calloc(n,size) 功能:在内存动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址。

(类型说明符*)用于强制类型转换。calloc函数与malloc 函数的区别仅在于一次可以分配n块区域。

例如:struct* p=(struct stu*) calloc(2,sizeof (struct stu)); 其中的sizeof(struct stu)是求stu的结构长度。因此该语句的意思是:按stu的长度分配2块连续区域,强制转换为stu类型,同时把分配的内存全都初始化为零值,并把其首地址赋予指针变量p。

释放内存空间函数free

  调用形式: free(void*ptr); 功能:释放ptr所指向的一块内存空间,ptr
是一个任意类型的指针变量,它指向被释放区域的首地址。被释放区应是由malloc或calloc函数所分配的区域。

C++分配内存:

1.new

1)int *a = new int;  //即为将一个int类型的地址赋值给整型指针a.

2)int *a = new int(5) 作用同上,但是同时将整数赋值为5

3)一维: int *a = new int[100];开辟一个大小为100的整型数组空间

二维: int **a = new int[5][6];

delete用法:

1. int *a = new int;

delete a; //释放单个int的空间

2.int *a = new int[5];

delete [] a; //释放int数组空间

要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问.

例子:分配动态数组

struct Student{
string name;
double weight;
int gender;
}; struct Student* pStudent = new struct Student[];

初始化 memset(pStudent,0,sizeof(Student) * 3);
给动态数组元素赋值
pStudentr[]="Lucy";
pStudentr[]=48.5;
pStudentr[]=; .... pStudentr[]="Tom";
pStudentr[]=68.5;
pStudentr[]=;

c/c++ 动态申请数组(转载)的更多相关文章

  1. c/c++ 动态申请数组

    new和delete运算符用于动态分配和撤销内存的运算符 new使用方法: 1.     开辟单变量地址空间 1)new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.in ...

  2. Delphi动态申请数组内存的方法(不使用SetLength,采用和C相似的方式)

    procedure TForm1.Button1Click(Sender: TObject);type  TArr = array [0..0] of Integer;  PArr = ^TArr;v ...

  3. C++ - 动态申请数组空间

    // 用指针p指向由new动态分配的长度为length*sizeof(int)的内存空间. int * p = new int[length];

  4. C++二维数组动态申请内存

    好久没用C++刷题了,今天早上刷了几条题,感觉很陌生了.怪我,大二下实在太颓废了,没啥作为. 今天更新个关于c++二维数组内存申请的问题,当初作为菜鸟初学指针的时候,还是在这方面有点搞不通的.今天用到 ...

  5. C++动态申请一维数组和二维数组

    在平时的编程过程中,我们经常会用到数组来存放数据,我们可以直接申请足够大空间的数组来保证数组访问不会越界,但是即便这样,我们依然不能保证空间分配的足够,而且非常的浪费空间.有时候我们需要根据上面得到的 ...

  6. C++中动态申请二维数组并释放方法

    C/C++中动态开辟一维.二维数组是非常常用的,以前没记住,做题时怎么也想不起来,现在好好整理一下. C++中有三种方法来动态申请多维数组 (1)C中的malloc/free (2)C++中的new/ ...

  7. 消除VS中动态申请二维数组C6011,C6385,C6386的警告

    动态申请二维数组,无非就是通过指针来实现.@wowpH 过程分三步:1.申请内存,2.使用数组,3.释放内存. 代码如下: /************************************* ...

  8. Android JNI编程(五)——C语言的静态内存分配、动态内存分配、动态创建数组

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:什么是静态内存什么又是动态内存呢? 静态内存:是指在程序开始运行时由编译 ...

  9. c++ 依据输入动态声明数组(一维,二维)

    较早的编译器是不同意这样做的,所以一些书籍比方以Tc解说的书本都说数组的下标不能是变量.在vc6.0下亦是如此. 只是在一些较新的编译器如dev c++已经支持了,例如以下代码不会报错 #includ ...

随机推荐

  1. 对爱奇艺PC Web主站来说,良好的SEO能够帮助其获得更多的搜索流量,因而页面上一些非常重要的内容仍然需要依靠服务端进行渲染,由于另外开发一套基于Node的SSR后台成本较高,而乐趣(基于java和velocity模板引擎)平台作为渲染系统已经十分成熟且运行稳定,在充分试验后,我们决定在Uniqy中使用服务端同步与客户端浏览器异步二次渲染相结合的方式,结合Vue2.0提供的 slot插槽机制,很

    https://mp.weixin.qq.com/s/eB20BoqzENO_oNk8eDg4Eg 干货|爱奇艺PC Web新框架实践 原创: 前端研发团队 爱奇艺技术产品团队 昨天      

  2. 图论——最小生成树prim+邻接表+堆优化

    今天学长对比了最小生成树最快速的求法不管是稠密图还是稀疏图,prim+邻接表+堆优化都能得到一个很不错的速度,所以参考学长的代码打出了下列代码,make_pair还不是很会,大体理解的意思是可以同时绑 ...

  3. scrollView + tableview 上下滑动失效

    scrollView + tableview 上下滑动失效 控制器添加的  要加到子控制器,不然被销毁了 [self addChildViewController:chatVC];

  4. LoadRunner-创建场景

    录制完脚本,并调试运行正常后,想要模拟并发进行压力测试,需要创建场景. 1.点击Tools->Create Controller Scenario... 2.选择手工场景,并设置并发用户数.点击 ...

  5. CentOS7 firewall防火墙配置笔记

    开启端口 # firewall-cmd --zone=public --add-port=/tcp --permanent 命令含义:         --zone #作用域         --ad ...

  6. WebDriver 常用操作

    1 浏览器操作 2 窗口和弹框操作 3 cookies 操作 4 简单对象的定位 5 页面元素操作 6 鼠标事件 7 键盘事件 1 浏览器操作 #属性: driver.current_url #用于获 ...

  7. 用SCSS需要小心IE对css的几个限制

    IE对CSS的限制主要有两个: 一个页面中引用的CSS只读前32个 一个CSS文件中只读前4095个选择器 关于这个问题的文章有很多,我就不细讲了. 我想讲的是在用SCSS写CSS的时候非常容易超过这 ...

  8. union 类型(即sum types)在golang语言中的实现

    http://www.jerf.org/iri/post/2917 Sum Types in Go posted Jun 02, 2013 in Programming, Golang, Haskel ...

  9. bootstrap modal插件弹出窗口如何限制最大高度,并且在内容过多时可以滚动显示

    .modal-body{ max-height:400px; overflow-y:auto; } 只有在modal-body类上限制高度才能起作用,其他地方的限制均不起作用

  10. pyrhon3与mysql:查、更、删49

    import pymysql conn = pymysql.connect(host=',db='jodb1',port=3307,charset='utf8') # 172.31.10.225 # ...