gpt4 book ai didi

c - 为什么我得到我正在传递来自不兼容指针类型的参数?

转载 作者:行者123 更新时间:2023-12-02 08:47:17 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Passing multidimensional arrays as function arguments in C

我正在尝试使用通用交换功能:

void swap(void **p, void **q){
void *tmp;
tmp=*p;
*p=*q;
*q=tmp;
}


int main(){
int M=5;
int N=6;
char*w[M][N];

swap(&w[1][2], &w[2][2]);

return 0;
}

假设 w 已经用值初始化,我只想知道我应该如何发送参数

我想弄清楚在这种情况下我应该如何发送要交换的参数。

假设 N=M=2;所以我有 w 看起来像 {{"stack", "overflow"},{"best", "site"}}

  1. swap(w[i][j],w[k][r]) 不是正确的选项,因为 w[i][j] 是对实际字符串的引用并且 swap 获取**void,其中只有 w[i][j] 是仅指向 *char 的指针,所以
  2. swap(&w[i][j], &w[k][r]) 看起来是正确的选项。因为它是指向 char* 的指针,但是我从不兼容的指针类型传递交换参数,这是怎么回事?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com