🟡 Վարժություն 8
Ի՞նչ կպտվի էկրանին, եթե
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։