Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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"; Это сделано ради удобство, но получается нет никакой строгости? Это исключение или я правила плохо знаю?


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: