Menukar Vektor kepada Tatasusunan dalam C
Apabila bekerja dengan struktur data dalam C , mungkin perlu menukar antara jenis yang berbeza. Satu tugas biasa ialah menukar vektor, tatasusunan dinamik, kepada tatasusunan statik. Ini boleh dicapai menggunakan helah mudah yang mengambil kesempatan daripada storan bersebelahan yang dijamin oleh bekas vektor.
Untuk menukar std::vector
std::vector<double> v; double* a = &v[0];
Dalam coretan kod ini, v ialah vektor yang mengandungi nilai berganda. Dengan mengambil alamat elemen pertama v[0] dan memberikannya kepada penuding a, tatasusunan berganda dicipta. Ini boleh dilakukan kerana vektor disimpan bersebelahan dalam ingatan.
Adalah penting untuk ambil perhatian bahawa penukaran ini tidak menghasilkan salinan data. Sebaliknya, ia memberikan penunjuk terus kepada struktur data dalaman vektor. Sebarang pengubahsuaian yang dibuat pada tatasusunan a juga akan ditunjukkan dalam vektor v, dan sebaliknya.
Atas ialah kandungan terperinci Bagaimana untuk Menukar C std::vector kepada Double Array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!