繁体   English   中英

使用 C 中的指针在结构内交换二维数组的行

[英]Swapping Rows of 2D Array Inside a Struct Using a Pointer in C

我正在尝试创建一个函数,使用指向该结构的指针从结构内的二维双数组中交换两行。

到目前为止,这是我的功能代码。

void swap_rows(struct Double_Array* ptr , int r1 , int r2){

   double temp = ptr->array[r1];

   ptr->array[r1] = ptr->array[r2];

   ptr->array[r2] = temp;

}

这些是我得到的错误:

cannot convert 'double*' to 'double' in initialization  
invalid array assignment    
incompatible types in assignment of 'double' to 'double [9]'

该数组是在内存中分配的结构的一部分。 但是编译时出现错误。

首先,您必须使用其两个索引(如array[0][r1]访问二维数组,然后在循环中逐列交换r1r2 ,就像如何交换矩阵中的两行(在 C 中)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM