В каком сегменте хранятся статические переменные? <p>В каком сегменте хранятся статические... - вопрос №507480

В каком сегменте хранятся статические переменные?

Как хранятся двумерные массивы в памяти?
Как хранятся трехмерные массивы в памяти?
Как хранятся четырехмерные массивы в памяти? 

Как выделяется буфер в куче?
Как работают с массивами в куче? 

28.12.12
1 ответ

Ответы

1. статические переменные хранятся в сегменте данных

2. двумерный массив, объявленный локально в какой-то функции хранится на стэке, как и трех и четырехмерный. Двумерный разворачивается построчно. То есть unsigned int a[2][2] = {{1, 2}, {3,4}} хранится как 1, 2, 3, 4;

трехмерный:

unsigned int a[2][2][2] = {{{1,2},{3,4}},{{5,6},{7,8}}};

хранится как 1 2 3 4 5 6 7 8

3. аналогично и четырехмерный

4. с — void* ptr = malloc(100);

pascal GetMem(ptr, 100);

в с++ и object pascal еще через new можно память выделить

5. 

unsigned* ptr = (unsigned*) malloc(100);
ptr[0] = 1000;
cout << ptr[0] << endl;

29.12.12
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store