zoukankan      html  css  js  c++  java
  • 堆操作,malloc

    PS:堆空间缺省值都是cd,栈空间缺省值都是cc

    内存有四区:栈、全局(静态)、常量、除此以外的空间暂时不能随意使用,但是通过malloc函数申请就可以使用了。

    利用malloc申请一个int变量,注意:malloc在头文件<stdlib.h>中

    int *p=(int*)malloc(sizeof(int));
    *p = 1;
    free(p);

    这里解释一下malloc的含义,开辟出括号中表示的字节数的空间,并返回指向这块空间的void*型指针,所以在具体要malloc什么类型的时候,前面要强制转化一下。不用这块空间的时候记得 free(mallco返回的指针),将这块空间释放掉。

    利用malloc申请一个数组变量,利用malloc申请数组的空间时,有一个优点,就是可以用变量的方式指定数组的大小。

    int n;
    	scanf("%d", &n);
    	int *p=(int*)malloc(sizeof(int)*n);
    	for (int i = 0; i < n; i++)
    		scanf("%d",p+i);
    	free(p);

     注意:free(p);中free了p指向的那块malloc内存,所以在程序中最好将p=NULL,不然p就是野指针,容易出错。

  • 相关阅读:
    全志A10_linux3.0内核编译记录
    C#使用Socket登陆WordPress源码
    UIKeyboardType键盘
    浅谈 iOS 版本号
    学习软件开发应该看的书
    NSPredicate的用法
    ios 技巧总结(不断更新)
    RSA 加解密
    GCD下的几种实现同步的方式
    iOS事件处理
  • 原文地址:https://www.cnblogs.com/ma77045728/p/6972587.html
Copyright © 2011-2022 走看看