相关疑难解决方法(0)

将结构数组传递给函数c ++

对不起这个菜鸟问题我只是有点困惑.
如果我在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++ arrays parameters data-structures

18
推荐指数
2
解决办法
5万
查看次数

C++中的三维整数数组

我想找到在C++中实现三维整数数组的安全方法,使用指针算术/动态内存分配,或者使用STL矢量等技术.

基本上我希望我的整数数组维度看起来像:

[ x ][ y ][ z ]
Run Code Online (Sandbox Code Playgroud)

x和y在20-6000范围内是已知的并且等于4.

c++ arrays multidimensional-array

7
推荐指数
3
解决办法
3万
查看次数

传递多维数组

我正在尝试制作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)

因为这不起作用,我假设某处我必须定义数组的大小.

谢谢.

c multidimensional-array

0
推荐指数
1
解决办法
119
查看次数