Mengakses array 2-D (integer dan array karakter)
Nov 01 2020
Harap pertimbangkan kode di bawah ini:
char arr[3][10]={"white","red","blue"};
cout<<arr[2]; //output 1
int brr[3][3]={1,2,3,4,5,6,7,8,9};
cout<<brr[2]; //output 2
cout<<*brr[2];
Output 1: putih, pada dereferensi itu memberikan w sebagai output
Output 2: alamat heksadesimal (0x28 .....)
Output 3: Baris terakhir elemen pertama 7
Saya bingung mengapa ada perbedaan output dalam array bilangan bulat dan karakter.
Jawaban
2 TedLyngmo Nov 01 2020 at 07:22
Ketika Anda memberikan pointer, itu akan menggunakan std::ostream& operator<<( const void* value );kelebihan beban dan menampilkan alamat yang ditunjuk oleh value.
Perbedaannya adalah itu std::ostream& operator<<(std::ostream& os, const char* s)adalah kasus khusus dan itu akan membedakan sdan mengeluarkan chars sampai \0ditemukan. Selama tidak \0ditemukan, itu akan melangkah smaju.
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'