Ի՞նչ կպտվի էկրանին, եթե
short
տիպը զբաղեցնում է 2
բայթ, իսկ int
տիպը՝ 4
։#include <iostream> int main() { short arr[] = {1, 2, 3, 4, 5}; int* p = (int*)arr; *p = 0; for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } }
🚩Լուծում
arr
զանգվածի ամեն էլեմենտը զբաղեցնում է 2
բայթ։ p
ցուցիչը int
տիպի է, այսինքն ցույց է տալիս 4
բայթ հիշողության վրա, ինչը զանգվածի առաջին երկու էլեմենտների զբաղեցրաց տիրույթն է։ *p = 0;
գործողությունից հետո, զանգվածի առաջին երկու էլեմենտերի արժեքները կլինեն 0։