Содержание
-
Основы программирования на C++
Массивы, структуры, указатели: начало
-
Как обычно
-
Кое-что упустили: перегрузка функции.
Под перегрузкой понимается создание существование функции со сходным именем другой функции, но другими аргументами и/или возвращаемым значением. int max(int a, int b); int max(int a, intb, int c); double max(double a, double b);
-
Забегая вперед: передача аргумента по ссылке
При передаче аргумента по значению, переданная переменная не изменяется. Для функции создается копия переменной, таким образом функция никак не влияет на аргумент. При передаче по ссылке аргумент функцией может изменяться. Таким образом, аргумент может стать выходным параметром. Ссылочный аргумент передает адрес переменной в памяти. Для создания ссылочной переменной, нужно перед именем поставить амперсанд &
-
Пример
void swap(int &a, int &b) { int temp = a; a = b; b = temp; } int main() { inti = 10, j = 20; swap(i, j); cout
-
МассивыСтатические массивы
-
Понятие
Массив - это совокупность переменных одного типа, к которым обращаются с помощью общего имени. Доступ к отдельному элементу массива может осуществляться с помощью индекса. Конструкция объявления: тип имя_переменной [размер]; Пример: int mas[5];
-
Примеры объявлений массива
Инициализация при объявлении intmas[5] = { 228, 1337, 1488, 322, 2045 }; Инициализация после объявления int mas[5]; mas[0] = 228; mas[1] = 1337; mas[2] = 1488; mas[3] = 322; mas[4] = 2045;
-
Многомерные массивы
Также можно создавать массивы массивов – многомерные массивы Создаются массивы по такому принципу: int mas[N][M]; - двумерный массив (матрица)
-
Передача массива в функцию
В функцию может передаваться разными способами: intfunc(int mas[10]); intfunc(int *mas); intfunc(int mas[]);
-
Пример
intfunc(intcount, intmas[]) { int sum = 0; for (int i = 0; i
-
ЧТО ЭТО ТАКОЕ, МАТЬ ТВОЮ ЗА НОГУ?
intfunc(int*mas);
-
Указатели
-
Понятие
Указатель – адресная информация о расположении информационного ресурса, через которую пользователь может обратиться к нему.[1] В Си определено понятие указатель как переменная особого вида, содержащая адрес размещения в памяти другой переменной. Как вы догадались, конструкция такая: тип_данных*имя_указателя = другая переменная; [1] Источник - http://ermak.cs.nstu.ru/cprog/html/052.htm
-
Мой внутренний Пикассо не смог выразить графически указатели лучше
-
Пример для разобраться на досуге
#include usingnamespacestd; int main() { intvar = 10; int *pointer; pointer = &var; cout
-
Результат
-
Указатели при массивах. АДъ
#include usingnamespacestd; intmain() { int mas[10] = { 1,2,3,4,5,6,7,8,9,0 }; int *pointer = mas; cout
-
Результат
40 1 2 3 4 5 6 7 8 9 0 -858993460 00F3FE4C 00F3FE50 00F3FE54 00F3FE58 00F3FE5C 00F3FE60 00F3FE64 00F3FE68 00F3FE6C 00F3FE70 00F3FE74
-
Динамический массив
В указатели также можно заносить нормальные значения типа указателя, если выделить для указателя память C- стиль: int*ptr=(int*) malloc(sizeof(int)); *ptr=4; free(ptr); C++- стиль: int *ptr=new int(4); delete ptr;
-
Пример
#include usingnamespacestd; int main(void) { setlocale(LC_ALL, "Russian"); int *p; p = newint(4); cout
-
При создании динамического массива используется другая конструкция: p = newint[N]; - где N – размер массива Таким образом можно создавать массивы нужного вам размера во время исполнения программы Возможно и создание N-мерных динамических массивов. int N = 3, M = 3; int **matrix; matrix = newint*[N];
-
#include #include usingnamespacestd; int main(void) { srand(time(NULL)); int *p; intN; cin>>N; p = newint[N]; for(inti=0; i
-
Пример двумерного массива: #include usingnamespacestd; int main(void) { int N = 3, M = 3; int **matrix; matrix = newint*[N]; for (int i = 0; i
-
Тут кое-что упущено. Удаление массивов
Указатели занимают память даже выходя за пределы видимости: int *pout; while (true) { int *p = newint(7); pout = p; delete p; break; } cout
-
Правильный пример:
int N = 3, M = 3; int **matrix; matrix = newint*[N]; for (int i = 0; i
-
Задача
Дан двумерный массив целых чисел. Создать функцию, возвращающую определитель матрицы.
-
Задача коллективная
Объявите указатель на массив типа int и выделите память память для 12-ти элементов. Необходимо написать функции: Заполнения массива Показа массива Обмена значений четных и нечетных ячеек массива.
-
Частое употребление массивов - строки
-
Мемчик в конец
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.