c – 使用C通过引用传递数组
发布时间:2020-12-16 10:31:25 所属栏目:百科 来源:网络整理
导读:是的,我已经读过这个问题答案: Passing an array by reference in C?.我遇到了类似的问题,并从该问题中实现了相同的想法. 但是,我仍然从以下代码中得到错误: #include iostreamvoid FillArray(int** myArray){ free( *myArray ) ; * myArray = (int*) mall
是的,我已经读过这个问题&答案:
Passing an array by reference in C?.我遇到了类似的问题,并从该问题中实现了相同的想法.
但是,我仍然从以下代码中得到错误: #include <iostream> void FillArray(int** myArray) { free( *myArray ) ; * myArray = (int*) malloc(sizeof(int) * 2); *myArray[0] = 1; *myArray[1] = 2; } int main() { int* myArray = NULL; FillArray(& myArray); return 0; } FillArray函数结束后,我收到了以下运行时错误:
我正在使用Visual Studio,打开Visual C Empty Project.并且文件名为main.cpp.这是否意味着它是用C编译器而不是C编译器编译的?如果是这样,我怎样才能打开一个只会编译C编译器的文件?我尝试用main.c重命名main.cpp,但仍然有同样的问题. (我问这个问题,因为我读了一些关于“通过引用传递”的内容,并发现它在C和C中有所不同.) 对不起这个非常基本的问题. 如有任何帮助,我将不胜感激, SAIT. 解决方法
优先权没有像你期望的那样发挥作用.试试这些:
(*myArray)[0] = 1; (*myArray)[1] = 2; (注意:iostream不是C.它是C.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |