Содержание
- 2. 2.1 Указатели Формат: [ ][ ][ ] [ ]* [= ]; Пример: 1) short a, *ptrs
- 3. Операции над указателями 1. Присваивание Примеры: int a,*ptri,*ptrj; void *b; 1) ptri=&a; 2) ptri=NULL; 3) ptri=ptrj;
- 4. Основное правило адресной арифметики Значение указателя меняется Значение указателя не меняется!!! Значение указателя меняется + n
- 5. Ссылки int a, // переменная *ptri=&a, // указатель &b=a; // ссылка … a=3; ⇔ *ptri=3; ⇔
- 6. 2.2 Управление динамической памятью (С) 1. Размещение в памяти одного значения Выделение памяти void * malloc(size_t
- 7. Управление динамической памятью (С) 2. Размещение нескольких значений Выделение памяти void * сalloc(size_t n, size_t size);
- 8. Управление динамической памятью в С++ 1. Одно значение Операция выделения памяти =new [( )]; Операция освобождения
- 9. Управление динамической памятью в С++ (2) 2. Несколько значений Операция выделения памяти для n значений: =new
- 10. 2.3 Массивы Объявление массива: [ ] [ ] ...[= { }]; Примеры: 1) int a[4][5]; 2)
- 11. Пример программы обработки массива (Ex2_01) #include "stdafx.h" #include #include #define N 5 void main(int argc, char*
- 12. Многоуровневые ссылки (Ex2_02) int m[]={1,2,3,4}; int *mp[]={m+3,m+2,m+1,m}; mp[0],*mp mp[1],*(mp+1) mp[2],*(mp+2) mp[3],*(mp+3) m[1],*(m+1) или mp[0][-2], *(mp[0]-2), *(*mp-2),
- 13. 2.4 Строки Строка Паскаля Строка С (С++) Длина Признак конца Строка в С и С++– последовательность
- 14. Объявление строки Объявление строки char [ ] [= ]; Объявление указателя на строку char * [=
- 15. Объявление и инициализация массивов строк Массив указателей на строки char * [ ] [= ]; Массив
- 16. Функции, работающие со строками Библиотеки: string.h, stdlib.h 1) определение длины строки: size_t strlen(char *s); 2) конкатенация
- 17. Функции, работающие со строками (2) 9) преобразование строки в целое число: int atoi(const char *s); 10)
- 18. Пример преобразования числа в строку #include "stdafx.h" #include #include void main( void ) { int decimal,
- 19. Пример использования функции strtok (Ex2_03) #include "stdafx.h" #include #include char string[] = "A string\tof ,,tokens\nand some
- 20. Пример использования функций обработки строк Петров Петр Петрович 1956 => Петров П.П. 50 (Ex2_04) #include "stdafx.h"
- 21. Пример использования функций обработки строк (2) ptr2=strchr(st,' '); ptr2=strchr(ptr2+1,' '); strncpy(ptr1+3,ptr2+1,1); strncpy(ptr1+4,". \0",3); ptr3=strchr(ptr2+1,' '); old=2006-atoi(ptr3+1);
- 22. 2.5 Структуры 1. Объявление (Си) struct [ ] { } [ ]]; Примеры: а) struct student
- 23. Обращение к полям структуры . [ ]. (* ). или -> Примеры: stud1.name stud[i].name (*ptrstud).name ⇔
- 24. Пример использования структуры (Ex2_05) Программа определения среднего балла каждого студента и группы в целом #include "stdafx.h"
- 25. Пример использования структуры (2) int main(int argc, char* argv[]) {student stud[10]; int i,n=0; float avarstud,avarage=0; while
- 26. 2.6 Объединения union { } [ ]; Пример: union mem { double d; long l; int
- 27. 2.7 Динамические структуры данных (Ex2_06) Пример. Стек записей. #include "stdafx.h" #include #include struct zap {char det[10];
- 28. Динамические структуры данных (2) while((scanf("\n%s",a.det)),strcmp(a.det,"end")!=0) { scanf("%f",&a.diam); q=r; r=new zap; strcpy(r->det,a.det); r->diam=a.diam; r->p=q; } r det
- 29. Динамические структуры данных (3) q=r; do { if(q->diam { if(q==r) { r=r->p; delete q; q=r;} else
- 31. Скачать презентацию