use*_*777 0 c arrays pointers 2d function
我有一个2D数组指针
main.c
Int32 * pRxSeqAddr[2][2];
func(pRxSeqAddr);
Run Code Online (Sandbox Code Playgroud)
/
func.c
void func( Int32** pRxSeqAddrPtr)
{
///
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
argument of type "Int32 *(*)[2]" is incompatible with parameter of type "Int32 **
Run Code Online (Sandbox Code Playgroud)
我知道如果它是指针的一维数组,那么这个函数调用很好,但2D唠叨我...
请帮忙
将func.c更改为:
void func(Int32 *pRxSeqAddrPtr[][2])
{
}
Run Code Online (Sandbox Code Playgroud)
通常,要将2D数组传递给函数,您需要为除第一个维度以外的所有维度指定数组维度,因此在此示例中,您需要[2]作为最后一个维度,但您可以选择省略第一个维度,即
void func(Int32 *pRxSeqAddrPtr[2][2])
{
}
Run Code Online (Sandbox Code Playgroud)
也有效,但有些多余.