我是 C 的新手,但我目前正在做一个项目,但我无法弄清楚如何做需要做的事情。
我有 2 个不同的结构数组,它们的定义完全不同,我正在尝试执行与 PHP 的 array_pop 相同的操作,即删除数组结构的最后一个元素。
我知道我可以创建 2 个单独的函数,每个结构类型一个,但显然不是最好的主意,所以我想知道是否可以将任一结构类型传递给一个函数,可能还有一个标志和标志确定它应该被转换成什么类型的结构。
我的结构定义如下
typedef struct CallLogSearchResultStruct
{
long date;
int dRowIndex;
} callLogSearchResultStruct;
typedef struct CallLogSearchDataStruct
{
char * date;
char * time;
char * bParty;
char * aParty;
float duration;
char * cleardownCause;
struct CallLogSearchOutboundStruct * outboundLegs;
} callLogSearchDataStruct;
以下是结构的初始化方式
callLogSearchData = calloc(numRows, sizeof(callLogSearchDataStruct));
callLogSearch = calloc(numRows, sizeof(callLogSearchResultStruct));
numRows
是要包含在数组中的结构的数量。
以下是我如何使用这些结构
callLogSearchData[dataRow].aParty = NULL;
callLogSearchData[dataRow].bParty = NULL;
callLogSearchData[dataRow].cleardownCause = NULL;
callLogSearchData[dataRow].date = NULL;
callLogSearchData[dataRow].time = NULL;
callLogSearchData[dataRow].outboundLegs = NULL;
道歉,如果这是一个简单直接的答案,我在谷歌上找不到任何东西,虽然不完全确定这会被称为什么,所以也许我使用了错误的关键字。
感谢您的任何帮助,您可以提供。