Содержание
- 2. Операции 1.Получение адреса & P=&C - занести в ячейку P адрес ячейки C Пример: Рассмотрим расположение
- 3. 65516 65512 65522 65520 % u printf(“адрес %u ”, &var); printf(“ % u ”, &x); printf(“
- 4. 2. Получение значения по адресу. * занести в ячейку t данные, расположенные в ячейке, на которую
- 5. Пример Рассмотрим расположение переменных в оперативной памяти при объявлении указателя int k=10, n, *pt_k; n=k
- 6. ptr_k=&k n = *ptr_k;
- 7. void 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
- 8. Аналогично для действительных чисел float a=6.1, *pt_а, b; ptr_a=&a; b=a; b=*ptr_a printf(“a=%5.2f b=%5.2f ”,a,b ); На
- 9. Указатели и массивы. 1.Одномерные масссивы Известное статическое описание int a[10] a[0] a[1] a[9] a[i] – соответствует
- 10. *pa - указатель на тип int Описание с помощью указателя int *pa pa+1 pa+i pa+9 pa
- 11. 65122 65122 65126 65130 65134 float b[10] printf(“ % u ”, &b); printf(“ % u ”,
- 12. 2. Двухмерные масссивы Известное статическое описание int t[5][3] t[i][j]–соответствует элементу, расположенному в i-той строке и j-том
- 13. pt_t+14 pt_t+0 pt_t+1 pt_t+2 pt_t+3 pt_t+4 Описание с помощью указателя int *pt_t; *pt_t - указатель на
- 15. ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ 1.Функции выделения памяти malloc() (от memory allocation, выделение памяти), calloc () (от clear
- 16. Пример. Сформировать массив целых чисел. Определить адреса элементов массива. Сформировать массив вещественных чисел. Определить адреса элементов
- 17. void main() { int i; int *x=(int*) malloc (5*sizeof(int)); for (i=0;i { *(x+i)=int(0.002*rand()); printf("\n % 2d",*(x+i));
- 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) ;
- 19. На экране
- 20. 2.Операторы new и delete Выделение памяти = new ; = new [K];-выделение памяти для массива из
- 21. Пример. void main() { int *x,i; x=new int[10]; for (i=0;i { *(x+i)=12+int(random(50)); printf("\n % 2d",*(x+i)); printf("
- 22. float *a; a=new float[10]; for (i=0;i { *(a+i)=0.01*rand(); printf("\n % .2f",*(a+i)); printf(" %u", (a+i)); } delete[]a;
- 24. Скачать презентацию