C++中malloc与new方法动态创建数组并释放

2023-05-16

#include<iostream>
using namespace std;
int main(){
//动态创建释放一维数组(new)
int *a;//基地址
int n=10;//数组大小
a=new int[n];//创建
    delete[] a;//释放
//动态创建释放二维数组(new)
int **b;
int m=10;n=10;
b=new int*[m];
for(int i=0;i<m;i++)
b[i]=new int[n];
for(i=0;i<m;i++)
delete[] b[i];
delete[] b;
//动态创建释放三维数组(new)
int ***c;
i=10;int j=10,k=10;
c=new int**[i];
for(n=0;n<i;n++)
{
c[n]=new int*[j];
for(m=0;m<j;m++)
c[n][m]=new int[k];
}
for(m=0;m<i;m++)
{
for(n=0;n<j;n++)
delete[] c[m][n];
delete[] c[m];
}
delete[] c;

//动态创建释放一维数组(malloc)
int*d;
int z=10;
d=(int*)malloc(z*sizeof(int));
free(d);
//动态创建释放二维数组(malloc)
   int**e;
int y=10;
e=(int**)malloc(z*sizeof(int*));
for(int q=0;q<z;q++)
e[q]=(int*)malloc(y*sizeof(int));
for( q=0;q<z;q++)
free(e[q]);
free(e);
//动态创建释放三维数组(malloc)
int ***r;
r=(int***)malloc(sizeof(int**)*10);
for(q=0;q<10;q++){
r[q]=(int**)malloc(9*sizeof(int*));
for(int p=0;p<9;p++)
r[q][p]=(int*)malloc(8*sizeof(int));
}
for(q=0;q<10;q++){
for(int p=0;p<9;p++)
free(r[q][p]);
free(r[q]);
}
free(r);
return 0;
}
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++中malloc与new方法动态创建数组并释放 的相关文章

  • 除了 malloc/free 之外,程序还需要操作系统提供其他东西吗?

    我正在为我正在开发的操作系统设计内核 我实际上将其称为 核心 只是为了有所不同 但它基本上是相同的 如果我无法启动和运行多任务处理 内存管理和其他基本功能 那么操作系统本身的细节就无关紧要了 所以我需要首先解决这个问题 我有一些关于设计 m
  • malloc(1) 的对齐要求是什么

    我听说成功调用malloc 返回适合任何类型对齐的指针 然而 要求这样做似乎毫无用处且浪费 malloc 1 返回一个指针 其对齐值大于1因为没有物体大于char可以存储到块中 对齐要求是什么malloc 1 malloc 2 etc 如果
  • 从c中的数组中删除偶数

    你好 我正在尝试大约 2 个小时来创建一个程序 该程序将从 c 中的动态分配数组 使用 malloc 中删除偶数 有人可以帮我提供一些提示或创建代码吗 附注这是我在这里的第一个主题 所以请随时给我一些关于如何正确发布问题的提示 假设您已经动
  • 分配 RAM 在任务管理器中显示 RAM 使用量的两倍

    进行一些分析 内存和速度 我对 win7 似乎分配的 RAM 恰好是我要求的两倍这一事实感到震惊 请注意 这是我第一次在 win7 上进行此类主动分析 所以我不这样做我真的不知道会发生什么 我在 win7 64 位 下使用 MSVC 的 E
  • 在 C 中 Malloc 一个二维数组[重复]

    这个问题在这里已经有答案了 每次我首先为二维数组分配内存时 我都会创建一个数组int 然后使用 for 为每个元素分配内存 例如 int arr malloc N sizeof int for i 0 i lt N i arr i mall
  • 如何区分 malloc 字符串和字符串文字?

    有没有一种方法 在纯C中 来区分malloc从字符串文字中提取字符串 而不知道哪个是哪个 严格来说 我试图找到一种方法来检查变量是否是 malloced 字符串 如果是 我将释放它 如果没有 我就放手 当然 我可以向后挖掘代码并确定变量是否
  • Xcode 4:由于 iPad 模拟器的 dylib 错误,无法使用启用 Guard Malloc

    在 Xcode 4 x 中 我已将运行方案编辑为 启用 Guard Malloc 因为我有一个需要追踪的不伦不类的 malloc 错误 我知道我需要在模拟器中运行才能使用此功能 然而 当我这样做时 应用程序立即冻结 并且 Xcode 向我显
  • malloc(sizeof(int)) vs malloc(sizeof(int *)) vs (int *)malloc(sizeof(int))

    我承认这三个都有不同的含义 但是 我不明白这些都适用于哪些特定情况 任何人都可以分享每个例子吗 谢谢 malloc sizeof int malloc sizeof int int malloc sizeof int malloc size
  • C++ 中可以混合使用 free 和构造函数吗? [复制]

    这个问题在这里已经有答案了 可能的重复 调用free 或delete而不是delete 有什么危险吗 https stackoverflow com questions 1612031 is there any danger in call
  • 在C中,malloc(256)和malloc(sizeof(char)*256)等价吗?

    我看到人们经常编写 C 代码 例如 char ptr malloc sizeof char 256 这真的有必要吗 标准说sizeof char 1根据定义 这样写是不是有意义 char ptr malloc 256 是的 C 定义了siz
  • 你怎么知道用 malloc() 分配多少空间?

    我是一个完全的 C 新手 我来自 C 我一直在学习内存管理和malloc 功能 我也遇到过这段代码 char a persons name malloc sizeof char 2 我不明白这是分配了多少空间a persons name 是
  • 如何在c中创建一个n维数组

    我正在考虑编写一个函数 它接受 n 个参数并使用这些参数作为维度返回一个 n 维数组 现在我意识到一维和二维数组很容易用指针实现 对于二维数组 片段将类似于 标准方式 int x int temp x int malloc m sizeof
  • 最小化 malloc() 调用量可以提高性能吗?

    考虑两个应用程序 一个 num 1 调用 malloc 多次 另一个 num 2 调用 malloc 几次 两个应用程序都分配same内存量 假设 100MB 对于哪个应用程序 下一个 malloc 调用会更快 1 还是 2 换句话说 ma
  • C++ New 与 Malloc 用于对象的动态内存数组

    我有一个 Bullet 类 它的构造需要几个参数 但是 我使用动态内存阵列来存储它们 我正在使用 C 所以我想通过使用 new 运算符来分配内存来符合它的标准 问题是当我分配数组时 new 运算符要求构造函数参数 而当时我没有 我可以使用
  • 如何从 .t​​xt 文件中读取已知数量的未知大小的字符串并将每一行存储在矩阵的一行中(在 C 中)?

    标题是不言自明的 我几乎可以肯定 最终结果不会是一个矩阵 因为每行都有不同数量的列 所以它更像是可变大小的数组的数组 按大小对片段进行排序 最大的在前 也很有趣 这是我到目前为止所尝试过的 int main char str MAXLEN
  • 每当调用 malloc/free 时输出到 stderr

    使用 Linux GCC C 每当调用 malloc free new delete 时 我想向 stderr 记录一些内容 我试图了解库的内存分配 因此我想在运行单元测试时生成此输出 我使用 valgrind 进行内存泄漏检测 但我找不到
  • C中的内存使用问题

    请帮忙 操作系统 Linux 其中 sleep 1000 中 此时 top 显示Linux任务 给我写了7 7 MEM使用 valgrind 未发现内存泄漏 我明白 写得正确 所有 malloc 结果都是 NULL 但是为什么这次 睡眠 我
  • 为什么 char 指针保存的数据比 C 中分配的内存更多?

    在使用 C 进行动态内存分配时 我在将内存大小分配给 char 指针时感到困惑 虽然我只给出 1 个字节作为限制 char 指针成功地接收尽可能长的输入 假定每个字母对应 1 个字节 我还尝试查找输入前后指针的大小 我怎样才能理解这里发生了
  • malloc:***错误:已释放对象的校验和不正确 - 对象可能在释放后被修改

    我的 iOS 应用程序有一个大问题 它有时会崩溃 而没有详细的调试错误 堆栈跟踪为空 这是堆栈跟踪中仅有的两行 UIApplicationMain 中的 符号存根 UIHostedTextServiceSession DismissText
  • C 中的指针、数组、字符串和 Malloc

    我目前正在学习 C 语言中的字符串 指针和数组 我尝试编写一个程序 其中数组保存三个指向字符串地址的指针 这一切似乎都有效 但程序的行为很奇怪 这是代码 char getUserDetails char host localhost cha

随机推荐