C - 将指针作为指向另一个函数的指针传递

标签 c pointers malloc

所以,我有一个函数如下:

void myfunction1(int *number)
{
    ...
}

我有:

void myfunction2(int *number)
{
    ...
    myfunction1(&number);
}

当我运行代码时出现错误:

warning: passing argument 1 of ‘myfunction1’ from incompatible pointer type

所以我将第二个函数更改为:

void myfunction2(int *number)
{
    ...
    myfunction1(&(*number));
}

我得到了:

dev(887) malloc: *** error for object 0x7fd400403810: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6

有什么想法吗?

最佳答案

number 已经有 int* 类型,因此您可以使用 myfunction1(number) 将其直接传递给 myfunction1 . malloc 错误与您显示的任何代码都无关。

关于C - 将指针作为指向另一个函数的指针传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17912738/

相关文章:

将应用程序复制到另一台机器,找不到共享库

c - 使用二维数组在 C 中存储字符串

c - 数组作为带参数的函数?

c++ - C++ 如何处理指针上的非虚函数调用?

c - 重定向到文件的输出在 C 中给出了编码问题

c - 为什么 fread() 函数没有到达文件末尾并且在从文件读取结构时循环无限继续?

c - 动态数组 C 上的无效赋值

c - 重新分配一个 int 数组

c - 在头函数声明中传递常量

c - 在函数中使用malloc?