Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2010, 20:46   #1
marazmaticus
Новичок
Джуниор
 
Регистрация: 11.03.2010
Сообщений: 1
По умолчанию Вопрос по указателю

Всем привет!
Почитал об указателях, в простейшем виде понял что за зверюшка.
Не могу понять почему при вызове функции в некоторых случаях передается значение а не адрес объекта, хотя в прототипе функции параметр типа указатель. По определению указателя должен же передаваться адрес.

Пример 1:
Код:
int k=5,*pk=&k;
\\указатель содержит адрес. Все понятно

Пример 2:
Код:
function(char *s);

function(char *s){
k=strlen(s);
}
function("Привет") \\ Не понятно, разве можно указателю передавать строку, правильно же передать адрес?
marazmaticus вне форума Ответить с цитированием
Старый 11.03.2010, 20:54   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

когда создается строка "Привет" автоматически создается указатель на первый символ ( как в массиве на первый элемент) и этот указатель передается в функцию
NiCola999 вне форума Ответить с цитированием
Старый 11.03.2010, 23:47   #3
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Автор : имя массива - есть константный указатель на первый элемент
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 11.03.2010, 23:50   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2RoS
кто тебе сказал, что он константный?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 11.03.2010, 23:52   #5
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Хех, а ты что можешь присвоить имени массива другой адрес?
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 11.03.2010, 23:57   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2RoS
пардон, опять перепутал с указателем на константное значение
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 12.03.2010, 00:05   #7
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

А я знал, что вы опытный человек и просто ошиблись
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива по указателю liver1981 Общие вопросы C/C++ 3 21.04.2009 17:07
Зачем указателю тип? Scratch Общие вопросы C/C++ 5 30.09.2008 11:48
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10
Передача данных в функцию по указателю Игорь007 Общие вопросы C/C++ 2 23.06.2008 20:17
как вызвать в Dll по указателю функцию, которая определена в главном потоке? SaintRain Общие вопросы Delphi 1 25.11.2006 08:27