Функция sizeof - размер на заемана памет

Описание на библиотечна функция sizeof: По време на компилирането библиотечната функция sizeof връща дължината на заеманата оперативна памет от дадена променлива. Всеки един от вградените типове променливи - chat, int, float, double заема точно определен брой бита памет. От това следва, че веднъж деклариран масив, структура или единична променлива от тези типове еднозначно се определя заетата оперативна памет Масивът array е структура от еднотипни, вече декларирани елементи. Структурата struct може да се представи като една променлива, но съставена от вече деклариран тип променливи. В процеса на изчисляване на заетата оперативна памет се извършва произведение от два множителя: а) типа на използваната променлива б) брой променливи от този тип Така заетата памет = памет за единична променлива * брой променливи. Един от принципите на фон Нойман гласи: програма и данни споделят обща памет. Съвременните компютри спазват този принцип и затова се определят от фон Нойманов тип.

   Да разгледаме следната задача:
   Дадена е редица от елементи - естествени числа от интервала [1..101]. Броят им не е известен предварително.
   Да се създаде програма извеждаща всички елементи в редицата.
   Следващата програма дава решен пример, илюстриращ работата на библиотечна функция sizeof - изчислява се брой числа в редицата.
#include <iostream> 
 using namespace std;
 //masiwyt e deklariran kato globalen bez ukazwane broq na elementite
 int mas[]={3,7,12,34,56,67,89}; 

int main()
 {int i,br;
   cout<<"Bibliotechnata funkciq sizeof ima za argument promenliwa i wrysha\n";
   cout<<"rezultata broj bajta zaeta RAM pamet ot syshata promenliwa.\n";
   cout<<"Masiwyt e deklariran globalno, no ne e ukazan broqt na elementite mu.\n";
   br=sizeof (mas) / sizeof(mas[0]);
   cout<<"Broj elementi w masiwa: "<<br<<endl;
  //obshiq razmer na namasiwa / razmera na pyrwiq mu element
  // br=sizeof (mas) / sizeof (int);
  //obshiq razmer na namasiwa / razmera na tipa promenliwa (pri deklarirane)
    cout<<"Redicata sydyrva slednite elementi: \n";
     for (i=0;i<br;i++) cout<<mas[i]<<"; ";
    cout<<endl;
    system("pause");
   return 0;
}//kraj na programa sizeof 

Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.

Начало на страницата

 
Размер на шрифта
Increase Font Size Option 3 Reset Font Size Option 3 Decrease Font Size Option 3
Bulgarian Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish
Търсене в сайта: