🟡 Վարժություն 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։
 
To check your solution you need to sign in
Sign in to continue