对不起这个菜鸟问题我只是有点困惑.
如果我在main中有一个结构数组,我想传递给一个函数:
struct MyStruct{
int a;
int b;
char c;
mayarray[5];
};
MyStruct StructArray[10];
myFunction(StructArray[])
Run Code Online (Sandbox Code Playgroud)
传递给一个函数:
void myFunction(struct MyStruct PassedStruct[])
{
PassedStruct[0].a = 1;
PassedStruct[0].b = 2;
// ... etc
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,会调用这样的函数修改数据StructArray吗?我需要它.这可以通过参考来打电话吗?我有点困惑.我如何更改它,以便当我将结构数组传递给函数时,该函数将修改数组StructArray?我正在使用视觉工作室顺便说一下.
谢谢.
我想找到在C++中实现三维整数数组的安全方法,使用指针算术/动态内存分配,或者使用STL矢量等技术.
基本上我希望我的整数数组维度看起来像:
[ x ][ y ][ z ]
Run Code Online (Sandbox Code Playgroud)
x和y在20-6000范围内是已知的并且等于4.
我正在尝试制作2x2阵列,将其初始化为0,并将其传递给函数.
我试过用它来初始化它
int array[2][2] = {0}
Run Code Online (Sandbox Code Playgroud)
但只有前5个值为0.
对我来说更大的问题是将数组传递给函数.
二维数组是指向指针的指针吗?所以我应该能够把它传递给;
function(**array);
Run Code Online (Sandbox Code Playgroud)
它是否正确?
当我尝试在函数中访问此数组时,我可以以格式访问它
void function (int **array){
array[0][2] = choice
}
Run Code Online (Sandbox Code Playgroud)
因为这不起作用,我假设某处我必须定义数组的大小.
谢谢.