私はCを初めて使用しますが、現在、必要なことを行う方法がわからないプロジェクトに取り組んでいます。
私は 2 つの異なる構造体配列を持っていますが、それらは完全に異なって定義されており、PHP の array_pop と同じアクション、つまり配列構造の最後の要素を削除しようとしています。
構造型ごとに 1 つずつ、2 つの個別の関数を作成できることはわかっていますが、明らかに最良のアイデアではないため、いずれかの構造型を 1 つの関数に渡すことができるかどうか疑問に思っています。キャストする必要がある構造のタイプを決定します。
私の構造は次のように定義されています
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;
これが単純で率直な答えである場合はお詫び申し上げます。Googleで何も見つけることができませんが、これが何と呼ばれるか完全にはわからないため、間違ったキーワードを使用している可能性があります。
ご協力いただきありがとうございます。