Форум: Форум C++Разное
Новые темы: 00
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Указатели
 
 автор: Alexhoppus   (10.06.2010 в 03:30)   письмо автору
 
 

int *q;
char *p; 
p = (char*)malloc(sizeof(char));
 q = (int*)malloc(sizeof(int));
p="string";
 cout<<q<<endl;
 cout<<p<<endl;

Почему указатель на строку содержит в себе не адрес начального бита выделенной памяти а саму строку? Почему если мы объявили char *p; указатель p, то мы можем присваивать ему строку p="adasdas"; Это сделано ради удобство, но получается нет никакой строгости? Это исключение или я правила плохо знаю?

  Ответить  
 
 автор: sms-send   (17.06.2010 в 15:20)
 
   для: Alexhoppus   (10.06.2010 в 03:30)
 

p="string";


Этот оператор записывает в переменную не саму строку, а значение указателя новой строки. Старый указатель, при этом затирается.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования