Cara menggunakan pasangan dalam C

WBOY
Lepaskan: 2024-02-18 20:27:10
asal
413 orang telah melayarinya

Cara menggunakan pasangan dalam C

Penggunaan pasangan dalam C memerlukan contoh kod khusus

Dalam bahasa C, kita selalunya perlu menyimpan dua objek berlainan jenis dalam satu atur cara, kita boleh menggunakan pasangan untuk mencapainya. Pair ialah jenis struktur dalam bahasa C, digunakan untuk menyimpan dua objek daripada jenis yang berbeza. Artikel ini akan memperkenalkan penggunaan asas pasangan dan memberikan contoh kod khusus.

Pertama, untuk menggunakan pasangan, kita perlu memasukkan fail pengepala . Struktur pasangan dan fungsi berkaitan ditakrifkan dalam fail pengepala ini.

Berikut ialah definisi struktur pasangan:

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

Terdapat dua pembolehubah penunjuk pertama dan kedua dalam struktur pasangan, masing-masing menunjuk ke objek pertama dan objek kedua.

Seterusnya, kita boleh menggunakan pasangan untuk menyimpan dua objek daripada jenis yang berbeza, seperti yang ditunjukkan di bawah:

Pair mypair;
int a = 10;
char b = 'c';
mypair.first = &a;
mypair.second = &b;
Salin selepas log masuk

Dalam contoh di atas, kami mencipta pembolehubah struktur pasangan mypair, dan masing-masing menetapkan pembolehubah integer a dan pembolehubah aksara b Alamat diberikan kepada penunjuk pertama dan kedua mypair.

Apabila kita perlu mengakses objek yang disimpan dalam pasangan, kita boleh mendapatkan nilai objek dengan menyahrujuk penuding, seperti yang ditunjukkan di bawah:

int value1 = *(int*)(mypair.first);
char value2 = *(char*)(mypair.second);
Salin selepas log masuk

Dalam contoh di atas, dengan menafikan penuding pertama dan penuding kedua, kita boleh mendapatkan pembolehubah integer Nilai a dan pembolehubah aksara b.

Selain mengakses secara manual objek dalam pasangan, anda juga boleh menggunakan fungsi yang disediakan oleh pasangan untuk mengendalikan pasangan, seperti yang ditunjukkan di bawah:

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);
Salin selepas log masuk

Fungsi make_pair digunakan untuk mencipta struktur pasangan dan lulus penunjuk bagi dua objek sebagai parameter Enter, dan kemudian kembalikan struktur jenis Pair. Fungsi pair_get_first dan fungsi pair_get_second digunakan untuk mendapatkan penunjuk objek pertama dan objek kedua yang disimpan dalam pasangan masing-masing. Fungsi pair_set_first dan fungsi pair_set_second digunakan untuk mengubah suai objek pertama dan objek kedua yang disimpan dalam pasangan.

Berikut ialah contoh kod khusus:

#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;
}
Salin selepas log masuk

Dalam contoh kod di atas, kami menggunakan fungsi pasangan yang berkaitan untuk mencipta, mendapatkan dan mengubah suai objek yang disimpan dalam pasangan. Keputusan berjalan program adalah seperti berikut:

Value 1: 10
Value 2: c
Modified Value 1: 20
Modified Value 2: d
Salin selepas log masuk

Melalui contoh di atas, kita dapat melihat penggunaan asas pasangan dalam bahasa C. Pair menyediakan cara yang mudah untuk menyimpan dua objek daripada jenis yang berbeza, dan objek yang disimpan boleh diperoleh dan diubah suai melalui operasi penunjuk. Saya harap artikel ini akan membantu anda memahami penggunaan pasangan!

Atas ialah kandungan terperinci Cara menggunakan pasangan dalam C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!