Tolong aku!!

L

london

Guest
This is my Array
const unsigned int Buff_STD [2] [45] = (
(
173, 410, 698, 979, 1145, / / 60
173, 411, 698, 977, 1145, / / 65
174, 412, 699, 976, 1145, / / 70
175, 414, 699, 975, 1145, / / 75
177, 416, 700, 974, 1145, / / 80
178, 418, 701, 973, 1145, / / 85
180, 423, 702, 973, 1145, / / 90
181, 423, 703, 974, 1145, / / 95
181, 423, 703, 974, 1145 / / 100
),
(
173, 411, 684, 894, 1145, / / 65
174, 412, 685, 892, 1145, / / 70
175, 414, 685, 891, 1145, / / 75
177, 416, 686, 889, 1145, / / 80
178, 418, 687, 887, 1145, / / 85
180, 423, 688, 885, 1145, / / 90
181, 423, 688, 885, 1145, / / 95
181, 423, 688, 885, 1145, / / 100
)
);

Bagaimana menemukan setiap elemen menggunakan variabel pointer.pls help me.
saya didefinisikan ukuran array [2] [45]

 
Hai,

unsigned int * a = Buff_STD [0];
for (i = 0; i! = 90; i ) (
printf ( "\ n% d", * (a i));
)Pada kode diatas, 'a' menyatakan bahwa alamat mulai Buff_STD ..... untuk mencapai elemen-n dari array tambahkan n-1 ke ....untuk mencapai elemen pertama indeks kedua Buff_STD [1] [0] .....* (a 45)Hope this helps!

 
hai
seperti posting sebelumnya
unsigned int * a = Buff_STD [0]; titik ini untuk mulai alamat data.
mendefinisikan sebuah byte untuk baris dan satu byte untuk Kolom.

Baris = 2;
col = 5;
x =* (a baris col);

 
hai
Aku mistake.pardom me
int mengambil dua byte.
x =* (a baris * 45 * 2 col)

 
Nah, Anda memiliki banyak jawaban berbeda untuk memilih dari!
Berikut pendapat saya:

Pertama, Anda perlu memperbaiki inisialisasi array Anda.Baris kedua hanya memiliki 40 entri.Const array harus memiliki setiap elemen initialized.

Kedua, mengapa kau tidak bisa menggunakan Buff_STD [baris] [col] formulir?Aku tidak bisa memikirkan alasan untuk menggunakan petunjuk di sini.Compiler secara otomatis mengkonversi formulir ini untuk pointer yang benar untuk Anda.Aku akan tertarik mendengar tentang aplikasi Anda dan mengapa Anda harus menggunakan pointer.Pointer harus dihindari karena mereka rentan terhadap kesalahan.Saya tidak mengatakan Anda tidak boleh menggunakan mereka, aku cuma bilang menggunakannya hanya jika benar-benar diperlukan.

Dengan asumsi Anda memiliki alasan yang sah untuk menggunakan pointer ke array dereference Anda, Gomez sudah benar:

const unsigned int * a = Buff_STD [0];
unsigned int x = * (a baris * 45 col);

zeeshanzia84:
Sementara untuk (...) Anda contoh itu tidak salah, Anda tidak menggunakan baris / pelana array organisasi dan kita juga baru saja menggunakan satu-dimesional array.

smxx:
Anda telah menyatakan x untuk menjadi integer.Ketika Anda melakukan aritmatika dengan pointer, compiler tahu berapa ukuran data yang Anda miliki dan akan menyesuaikan sesuai.Pointer Anda akan mengakses setiap elemen lain.

 

Welcome to EDABoard.com

Sponsor

Back
Top