Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Динамическая память

Размерности1 байт = 8 бит1 параграф = 24 байт1 Кб = 210 байт1 Мб = 220 байт1 сегмент = 64 Кб = 216 байт
Динамическая памятьЛекция 1 Размерности1 байт = 8 бит1 параграф = 24 байт1 Кб = 210 Модель оперативной памяти ПКСегментСмещениеадрес = (сегмент, смещение)Абсолютный адрес = сегмент *16 + Модель карты памяти Сравнение статической и динамической памяти УказательУказатель – это переменная, значением которой является адрес области памятиУказательАдресПеременнаяЗначение Описание указателейНа Паскалеvar	p : pointer;	t : ^integer;	n: integer;	…	n := t^;На Си Указатели и массивыint b[5] = {1, 1}; int *p, i;for (i = Строки в Си#include …char S[100];int l;strcpy (S, ”test”);l = strlen(S); Sl     4 Функции работы с динамической памятью Пример работы с динамической памятью#include #include int main() {	float *t;	int i, n;	printf(”\nn=”);	scanf(”%d”,&n);	t= Пример 2#include #include #include int main() {	char *s, *s1;	int n;	s = (char Пример 3. void swap (int *x, int *y){ 	int a;	a = *x;	*x Структуры в Сиstruct {}struct student {	char *name;	int age;};struct student x, y, *z;…x.age
Слайды презентации

Слайд 2 Размерности
1 байт = 8 бит
1 параграф = 24

Размерности1 байт = 8 бит1 параграф = 24 байт1 Кб =

байт
1 Кб = 210 байт
1 Мб = 220 байт
1

сегмент = 64 Кб = 216 байт



Слайд 3 Модель оперативной памяти ПК
Сегмент
Смещение
адрес = (сегмент, смещение)

Абсолютный адрес

Модель оперативной памяти ПКСегментСмещениеадрес = (сегмент, смещение)Абсолютный адрес = сегмент *16

=
сегмент *16 + смещение
Пример

Адрес = (F10A, 240E)
Абс. адрес

= F10A0 + 240E

+


Слайд 4 Модель карты памяти

Модель карты памяти

Слайд 5 Сравнение статической и динамической памяти

Сравнение статической и динамической памяти

Слайд 6 Указатель
Указатель – это переменная, значением которой является адрес

УказательУказатель – это переменная, значением которой является адрес области памятиУказательАдресПеременнаяЗначение

области памяти

Указатель
Адрес
Переменная
Значение


Слайд 7 Описание указателей
На Паскале
var
p : pointer;
t : ^integer;
n: integer;

n

Описание указателейНа Паскалеvar	p : pointer;	t : ^integer;	n: integer;	…	n := t^;На Си

:= t^;
На Си


int *t;
int n;

n = *t;

//разыменование
t = &n; //адрес



Слайд 8 Указатели и массивы
int b[5] = {1, 1};
int

Указатели и массивыint b[5] = {1, 1}; int *p, i;for (i

*p, i;
for (i = 2; i < 5; i++)
b[i]

= b[i-1]+b[i-2];
//-----------------
for (p = b+2; p != b+5; p++)
*p = *(p-1) + *(p-2);

b

p


Слайд 9 Строки в Си
#include

char S[100];
int l;
strcpy (S, ”test”);
l

Строки в Си#include …char S[100];int l;strcpy (S, ”test”);l = strlen(S); Sl   4

= strlen(S);
S
l 4


Слайд 10 Функции работы с динамической памятью

Функции работы с динамической памятью

Слайд 11 Пример работы с динамической памятью
#include
#include
int main()

Пример работы с динамической памятью#include #include int main() {	float *t;	int i,

{
float *t;
int i, n;
printf(”\nn=”);
scanf(”%d”,&n);
t= (float *)malloc(n*sizeof(float));
for(i = 0; i

< n; i++) {
printf (”x[%d]=”, i);
scanf(”%f”,&(t[i]));
}
for(i = 0; i < n; i++) {
if (i % 2 == 0) printf (”\n”);
printf(”\tx[%d]=%f”, i, t[i]);
}
free (t);
return 0;
}


Слайд 12 Пример 2
#include
#include
#include
int main() {
char *s,

Пример 2#include #include #include int main() {	char *s, *s1;	int n;	s =

*s1;
int n;
s = (char *)malloc(100);
scanf(”%s”, s);
for(n = 0; s[n];

n++);
s1 = (char *)malloc(n*2 + 1);
strcpy(s1, s);
strcpy(s1 + n, s);
printf(”%s”, s1);
free(s);
free(s1);
return 0;
}

Слайд 13 Пример 3.
void swap (int *x, int *y)
{

Пример 3. void swap (int *x, int *y){ 	int a;	a =


int a;
a = *x;
*x = *y;
*y = a;
}

int main()
{
int

a, b;

swap(&a, &b); // обмен значений двух переменных

return 0;
}

  • Имя файла: dinamicheskaya-pamyat.pptx
  • Количество просмотров: 153
  • Количество скачиваний: 0