|
|
|
| В книге Дэвиса "с++ для чайников" очень много внимания уделено указателям,мне много не понятно,пытаюсь разобраться уже долго,по-тихоньку что-то начинаю понимать.
Так собственно мой вопрос,важны ли указатели,и часто ли с ними работают,или всегда? | |
|
|
|
|
|
|
|
для: THERAPYbrother
(31.01.2008 в 17:16)
| | Простое объяснение - указатель - это переменная содержащая адрес(порядковый номер) некоторого "куска" памяти.
объявление:
int* a; // а - это указатель на кусок памяти, состоящий из переменных типа int
|
когда мы создаем указатель, то он сначала указывает "в мусор" - его ещё нельзя использовать.
поэтому ему нужно дать кусок памяти чтоб указатель туда указывал:
a=new int[90]; // выделение памяти под 90 элементов типа int
a[0]=10; a[89]=50; // работа с куском памяти
delete[]a; // удаление куска памяти.
|
таким образом указатели позволяют управлять выделением памяти прямо в процессе выполнения программы.
Пример: нам надо прочитать массив из файла. пусть сначала дано число элементов в массиве, потом сам массив.
FILE*fin=fopen("input.txt","r");
int n; // число эл-тов
int*a;
fscanf(fin,"%i",&n);
a=new int[n];
for(int i=0;i<n;++i)fscanf(fin,"%i",&a[i]);
fclose(fin);
|
| |
|
|
|
|
|
|
|
для: alex19921992
(01.02.2008 в 08:38)
| | ну с помощью книжки и вашего краткого описания я маленько начал разбираться,спс
лан,дальше буду мучаться)) | |
|
|
|