在malloc中使用sizeof

埃尔鲍尔

我正在尝试将矩阵的创建包装到一个函数中,但是在尝试理解从书本中摘录的以下代码段时遇到了问题:

  // An error checked malloc() wrapper function
  void *ec_malloc(unsigned int size) {
     void *ptr;
     ptr = malloc(size);
     if(ptr == NULL)
        fatal("in ec_malloc() on memory allocation");
     return ptr;
  }

我已经检查了这个问题:

我是否要转换malloc的结果?

现在,我现在没有必要强制转换结果。但是我不明白的是malloc(size)没有sizeof运算符的使用例如,要创建一个矩阵,可以说int **matrix我也创建了此函数:

  // An error checked malloc() wrapper function
  void **double_ec_malloc(unsigned int size) {
     void **ptr;
     ptr = malloc(size);
     if(ptr == NULL)
        fatal("in ec_malloc() on memory allocation");
     return ptr;
  }

然后我做:

  int **matrixA = double_ec_malloc(size);

  int i = 0;
  for (i = 0; i < size; i++){
    matrixA[i] = ec_malloc(size);

的内容manmalloc

malloc()函数分配大小字节,并返回指向分配的内存的指针。

size4,然后ptr = malloc(size)我分配4个字节,但是如果matrix是type的话int我不需要sizeof int * 4吗?因为现在我想我没有为整数矩阵分配足够的内存。

丹尼尔

由于ec_malloc()不采用数据类型参数,因此假定您会sizeof(datatype) * size自己因此,参数unsigned int size应以字节为单位。

请注意,它malloc()本身就是如何表现的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在malloc中使用sizeof?

来自分类Dev

为什么在malloc调用中使用sizeof(int)?

来自分类Dev

在Pthread中使用malloc

来自分类Dev

在Android中使用malloc / free

来自分类Dev

C:在malloc()中使用getpagesize()

来自分类Dev

在C中使用sizeof定义表长度

来自分类Dev

在std :: enable_if中使用sizeof ...

来自分类Dev

为什么要在结构中使用malloc?

来自分类Dev

在SFunction中使用malloc时出错

来自分类Dev

在对malloc的调用中使用宏

来自分类Dev

在c中使用malloc时的自由变量

来自分类Dev

在实时应用程序中使用malloc

来自分类Dev

如何在ASM中使用Malloc

来自分类Dev

在C中使用malloc保留内存

来自分类Dev

在链接列表中使用malloc之后的Free()

来自分类Dev

在C中使用malloc不起作用

来自分类Dev

何时在 C 中使用 calloc 或 malloc

来自分类Dev

malloc(sizeof(ptr))和malloc(sizeof(ptr *))之间的区别?

来自分类Dev

malloc(sizeof(struct element) * size); 或 malloc(sizeof(struct element) * 1);

来自分类Dev

C ++简单的malloc和sizeof

来自分类Dev

方法中使用的静态模板成员数组sizeof

来自分类Dev

在C89中的数组声明中使用sizeof()

来自分类Dev

在sizeof中使用时如何理解访问NULL指针?

来自分类Dev

在snprintf中使用sizeof运算符是否合适

来自分类Dev

哪种类型的输入值在C中使用sizeof函数?

来自分类Dev

在T的静态成员中使用sizeof(T)导致c ++错误

来自分类Dev

如何正确使用sizeof测量要分配给malloc的块?

来自分类Dev

如果您使用 NULL 作為 malloc(sizeof()) 的參數,它是否返回 NULL?

来自分类Dev

在使用C malloc的C ++构造函数中使用new