Разделы презентаций


УКАЗАТЕЛИ

Содержание

Операции1.Получение адреса & P=&C - занести в ячейку P адрес ячейки CПример: Рассмотрим расположение переменных в оперативной памяти при их объявлении int n,k;float x,y;

Слайды и текст этой презентации

Слайд 1УКАЗАТЕЛИ.
P
C

Объявление


*P;

int k=10, n, *ptr_k;
float a=6.1, *ptr_a ,b;

УКАЗАТЕЛИ.P C Объявление *P;int k=10, n, *ptr_k;float a=6.1, *ptr_a ,b;

Слайд 2Операции
1.Получение адреса
&

P=&C - занести в ячейку

P адрес ячейки C

Пример: Рассмотрим расположение переменных
в оперативной памяти

при их объявлении
int n,k;
float x,y;
Операции1.Получение адреса &  P=&C - занести в ячейку P адрес ячейки CПример: Рассмотрим расположение переменных в

Слайд 365516
65512
65522
65520

% u
printf(“адрес %u ”, &var);



printf(“ % u ”,

&x);
printf(“ % u ”, &y);
printf(“ % u ”, &n);
printf(“ %

u ”, &k);

используем указатель, например для x и получим его адрес
float *p;
p=&x;
printf(“%u”,p); 65516

65516655126552265520% uprintf(“адрес %u ”, &var);  printf(“ % u ”, &x);printf(“ % u ”, &y);printf(“ % u

Слайд 42. Получение значения по адресу.
*

занести в ячейку t данные,

расположенные в ячейке, на которую указывает указатель p

*p



t=

*p -
2. Получение значения по адресу. *занести в ячейку t данные, расположенные в ячейке, на которую

Слайд 5Пример Рассмотрим расположение переменных
в оперативной памяти при объявлении указателя

int

k=10, n, *pt_k;
n=k


Пример Рассмотрим расположение переменных в оперативной памяти при объявлении указателяint k=10, n, *pt_k;n=k

Слайд 6ptr_k=&k
n = *ptr_k;

ptr_k=&kn = *ptr_k;

Слайд 7void main()
{
int *pt_k, n, k=10;
pt_k=&k;
n=*pt_k;
printf("\n

k=%d",k);
printf("\n адрес_k=%u",&k);
printf("\n pt_k=%u",pt_k);
printf("\n k_по_указателю=%d",*pt_k);
printf("\n n=%d",n);
}
На

экране
к=10
адрес_k=65520
pt_k=65520
k_по_указателю=10
n=10
void main() { int *pt_k, n, k=10; pt_k=&k; n=*pt_k; printf(

Слайд 8Аналогично для действительных чисел
float a=6.1, *pt_а, b;
ptr_a=&a;


b=a;
b=*ptr_a
printf(“a=%5.2f b=%5.2f ”,a,b );
На экране
a=6.1 b=6.1

Аналогично для действительных чиселfloat a=6.1, *pt_а, b;ptr_a=&a;    b=a;    b=*ptr_aprintf(“a=%5.2f b=%5.2f ”,a,b

Слайд 9Указатели и массивы.
1.Одномерные масссивы

Известное статическое описание

int a[10]
a[0] a[1]

a[9]
a[i] – соответствует i-элементу.

Указатели и массивы.1.Одномерные масссивы Известное статическое описаниеint a[10]a[0] a[1]     a[9] a[i] – соответствует

Слайд 10*pa - указатель на тип int

Описание с помощью

указателя
int *pa
pa+1 pa+i

pa+9

pa a[0] a[1 ] a[i] a[9]

*pa a[0]

*(pa+1) a[1]

*pa - указатель на тип int Описание с помощью указателяint *pa pa+1    pa+i

Слайд 1165122

65122

65126

65130

65134
float b[10]



printf(“ % u ”, &b);

printf(“ % u ”,

&b[0]);

printf(“ % u ”, &b[1]);

printf(“ % u ”, &b[2]);

printf(“ %

u ”, &b[3]);



6512265122651266513065134float b[10]  printf(“ % u ”, &b);printf(“ % u ”, &b[0]);printf(“ % u ”, &b[1]);printf(“ %

Слайд 122. Двухмерные масссивы

Известное статическое описание
int t[5][3]
t[i][j]–соответствует

элементу,
расположенному в i-той строке и j-том столбце.

2. Двухмерные масссивы Известное статическое описаниеint  t[5][3]  t[i][j]–соответствует элементу, расположенному в i-той строке и j-том

Слайд 13pt_t+14
pt_t+0
pt_t+1
pt_t+2
pt_t+3
pt_t+4
Описание с помощью указателя
int *pt_t;
*pt_t - указатель на тип int


*pt_t
*pt_t t[0][0]
*(pt_t+1)

t[0][1]
*(pt_t+2) t[0][2]
*(pt_t+3) t[1][0]
*(pt_t+4) t[1][1]


pt_t+14pt_t+0pt_t+1pt_t+2pt_t+3pt_t+4Описание с помощью указателяint *pt_t;*pt_t - указатель на тип int *pt_t*pt_t

Слайд 15ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ

1.Функции выделения памяти

malloc() (от memory allocation,

выделение памяти),
calloc () (от clear allocation, чистое выделение

(памяти))
realloc () (от reallocation, перераспределение памяти).
free ()

Например
malloc(20*sizeof(int));
calloc(20, sizeof(int));
free();
ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ1.Функции выделения памятиmalloc()    (от memory allocation, выделение памяти),calloc ()    (от clear

Слайд 16Пример. Сформировать массив целых чисел.
Определить адреса элементов массива.
Сформировать

массив вещественных чисел.
Определить адреса элементов массива.
#include
#include
#include

Пример. Сформировать массив целых чисел. Определить адреса элементов массива. Сформировать массив вещественных чисел. Определить адреса элементов массива.#include#include#include

Слайд 17void main()
{
int i;

int *x=(int*) malloc (5*sizeof(int));
for

(i=0;i<5;i++)
{
*(x+i)=int(0.002*rand());
printf("\n % 2d",*(x+i));
printf(" %u", (x+i));
}
free(x) ;

void main()   {    int i;    int *x=(int*) malloc (5*sizeof(int));

Слайд 18
float *r=(float*) calloc (5,sizeof(float));
for (i=0;i

*(r+i)=(0.001*rand());
printf("\n %8.2f",*(r+i));
printf("

%u", (r+i));
}
free(r) ;
}
float *r=(float*) calloc (5,sizeof(float));  for (i=0;i

Слайд 19На экране

На экране

Слайд 202.Операторы new и delete

Выделение памяти

= new ;

= new [K];-выделение памяти

для массива из к элементов
Освобождение памяти
delete <указатель> ;
delete [ ] <указатель> ;
2.Операторы new и delete  Выделение памяти = new ; = new [K];-выделение памяти

Слайд 21Пример.
void main()
{
int *x,i;
x=new int[10];
for (i=0;i

(x+i));
}
delete[]x;

Пример.void main(){int *x,i;x=new int[10];for (i=0;i

Слайд 22
float *a;
a=new float[10];
for (i=0;i

float *a;a=new float[10];for (i=0;i

Слайд 23
На экране
25 3734
12 3736
15 3738
47 3740
20

3742


227.37 3734
123.45 3738
65.37

3742
345.34 3746
47.56 3750
На экране25  373412  373615  373847  374020  3742227.37    3734123.45

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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