Ger*_*rov 2 c arrays pointers char
我有一个chars table [] [] []的3D数组,我想将它传递给void函数,以便它可以对它进行更改.我怎样才能做到这一点?
void make(char minor[][][]);
.....
char greater[20][30][50];
make(greater);
Run Code Online (Sandbox Code Playgroud)
我想这不会奏效.
编辑:与此相关的另一个问题:我想创建一个复制函数将字符串复制到数组中 - 我应该如何调用函数中的strcpy?
void copy(char (*minor)[][])
{ char m[50] = "asdasdasd";
strcpy(minor[][],m);
}
Run Code Online (Sandbox Code Playgroud)
如果你想传递一个数组,就像那个数组一样,而不是你动态分配的数组malloc(这将是几个指针级别,而不是真正的数组),下面的任何函数原型都可以工作:
void make(char minor[20][30][50])void make(char minor[][30][50])void make(char (*minor)[30][50])原因是你不能拥有类似的东西void make(char ***minor)是因为它minor只会衰变成指向数组数组的指针,所以它不会多次腐烂.
| 归档时间: |
|
| 查看次数: |
5837 次 |
| 最近记录: |