|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.05.2012, 17:43 | #1 |
Регистрация: 26.05.2012
Сообщений: 3
|
Указатели в с++!
Приветствую всех! Меня зовут Марк, я учу с++ при помощи книги С.Р. Дэвис "С++ для чайников", остановился на указателях не как не могу понять зачем, для чего они нужны??? Если вы знакомы сними то прошу поподробнее написать про них, немного погуглил что-то нашёл, но, всё равно я их не понимаю! Спасибо!
|
26.05.2012, 17:50 | #2 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
Я бы посоветовал взять книгу Дейтела 5- ое издание. Можешь дать почту скину.
Есть переменная типа int: Код:
Код:
Желание тысяча возможностей, нежелание - тысяча причин
Последний раз редактировалось Стремящийся; 26.05.2012 в 17:55. |
26.05.2012, 17:53 | #3 |
Регистрация: 26.05.2012
Сообщений: 3
|
|
26.05.2012, 17:59 | #4 |
Регистрация: 26.05.2012
Сообщений: 3
|
Получается что int *p; - это объявление указателя p, p = &a; - теперь переменная p содержит адрес a? Я правильно пояснил? =)
|
26.05.2012, 18:03 | #5 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
Правильно.
Желание тысяча возможностей, нежелание - тысяча причин
|
27.05.2012, 02:30 | #6 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
Указатели очень полезны на самом деле. Например есть функция сортирующая динамический массив определенным образом например SortingFunc и необходимо дальше работать с этим массивом в функции main, тут нужны указатели т.к. для продолжения работы с этим массивом нужно функции SortingFunc вернуть указатель на данный массив. Или вот еще пример. Есть функция принимающая в качестве аргумента массив, тут рациональнее использовать указатели, если требуется изменить исходный массив. Так как если ты изменяешь в функции значение указателя то и изменяется сама переменная на которую он указывает. Это освобождает от возврата функции указателя на массив. Ну и также экономит память, т.к. когда передается массив в функцию void Func(int Array[]) то мы работаем с копией массива и программе необходимо выделить память на еще один массив, если мы передаем массив в функцию void Func(int *Array) то мы работаем можно сказать с самим массивов и программе не надо выделять дополнительную память, она выделит память под переменную типа *int. Этот эффект не заметен если массив имеет малый размер,но если массив имеет размерность 10^6 или 10^10. То это становится заметнее. Я сам где то месяц убил для того чтоб их понять
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
27.05.2012, 07:31 | #7 | |
Форумчанин
Регистрация: 02.09.2011
Сообщений: 336
|
Цитата:
Код:
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
|
|
27.05.2012, 10:45 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Даже они больше опасны чем полезны.
I'm learning to live...
|
|
27.05.2012, 14:19 | #9 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
Ну с этим никто не спорит. Но бывает без них не обойтись. Например в динамической памяти
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
27.05.2012, 14:24 | #10 | |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
Цитата:
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C# и указатели | qwerty3434 | Общие вопросы .NET | 7 | 08.03.2012 12:56 |
указатели | Solnze2 | Общие вопросы C/C++ | 1 | 21.10.2010 17:32 |
Указатели | @Manya@ | Общие вопросы C/C++ | 4 | 17.05.2010 13:53 |
[C] массивы, указатели, двойные указатели. | Iggel | Общие вопросы C/C++ | 5 | 05.05.2009 12:39 |