ホームページ  >  記事  >  バックエンド開発  >  Cでのペアの使い方

Cでのペアの使い方

WBOY
WBOYオリジナル
2024-02-18 20:27:10437ブラウズ

Cでのペアの使い方

C でのペアの使用には、特定のコード例が必要です

C 言語では、1 つのプログラムに異なる型の 2 つのオブジェクトを保存する必要があることがよくあります。これを達成するにはペアを使用できます。ペアは C 言語の構造体タイプで、タイプの異なる 2 つのオブジェクトを格納するために使用されます。この記事では、pair の基本的な使い方と具体的なコード例を紹介します。

まず、pair を使用するには、ヘッダー ファイル をインクルードする必要があります。ペア構造と関連関数は、このヘッダー ファイルで定義されます。

以下はペア構造の定義です。

typedef struct
{
    void *first; // 第一个对象的指针
    void *second; // 第二个对象的指针
} Pair;

ペア構造には 1 番目と 2 番目の 2 つのポインター変数があり、それぞれ最初のオブジェクトと 2 番目のオブジェクトを指します。

次に、以下に示すように、pair を使用して、異なるタイプの 2 つのオブジェクトを保存できます。

Pair mypair;
int a = 10;
char b = 'c';
mypair.first = &a;
mypair.second = &b;

上の例では、ペア構造変数 mypair を作成し、整数変数のアドレスを設定しました。 a と文字変数 b が mypair の 1 番目と 2 番目のポインタに割り当てられます。

ペアに保存されたオブジェクトにアクセスする必要がある場合、以下に示すように、ポインターを逆参照することでオブジェクトの値を取得できます。

int value1 = *(int*)(mypair.first);
char value2 = *(char*)(mypair.second);

上の例では、 1番目のポインタと2番目のポインタを使用すると、整数変数aと文字変数bの値を取得できます。

ペア内のオブジェクトに手動でアクセスすることに加えて、以下に示すように、pair が提供する関数を使用してペアを操作することもできます。

Pair make_pair(void *first, void *second);
void *pair_get_first(Pair pair);
void *pair_get_second(Pair pair);
void pair_set_first(Pair pair, void *first);
void pair_set_second(Pair pair, void *second);

make_pair 関数は、ペア構造体と 2 つのオブジェクトへのポインタがパラメータとして渡され、ペア型の構造体が返されます。ペアに保存されている最初のオブジェクトと 2 番目のオブジェクトのポインタを取得するには、pair_get_first 関数と par_get_second 関数を使用します。ペアに保存されている 1 番目のオブジェクトと 2 番目のオブジェクトを変更するには、pair_set_first 関数とペア_セット_セカンド関数を使用します。

以下は具体的なコード例です:

#include <stdio.h>
#include <utility.h>

int main()
{
    Pair mypair;
    int a = 10;
    char b = 'c';
    mypair = make_pair(&a, &b);
    
    int value1 = *(int*)(pair_get_first(mypair));
    char value2 = *(char*)(pair_get_second(mypair));
    
    printf("Value 1: %d
", value1);
    printf("Value 2: %c
", value2);
    
    int c = 20;
    char d = 'd';
    pair_set_first(mypair, &c);
    pair_set_second(mypair, &d);
    
    value1 = *(int*)(pair_get_first(mypair));
    value2 = *(char*)(pair_get_second(mypair));
    
    printf("Modified Value 1: %d
", value1);
    printf("Modified Value 2: %c
", value2);
    
    return 0;
}

上記のコード例では、ペアの関連関数を使用して、ペアに保存されているオブジェクトを作成、取得、および変更します。プログラムの実行結果は次のとおりです。

Value 1: 10
Value 2: c
Modified Value 1: 20
Modified Value 2: d

上記の例を通じて、C 言語でのペアの基本的な使用法を確認できます。ペアは、タイプの異なる 2 つのオブジェクトを保存する便利な方法を提供し、保存されたオブジェクトはポインター操作を通じて取得および変更できます。この記事がペアの使い方を理解する一助になれば幸いです!

以上がCでのペアの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。