Программа 1:Исключение нулевого указателя (интермедиат Vs полукокса)
#include <iostream>
using namespace std;
int main()
{
int *ptr = NULL;
cout << "The value of ptr is " << ptr ;
return 0;
}
Программа 2:
#include <iostream>
using namespace std;
int main()
{
char *ptr = NULL;
cout << "The value of ptr is " << ptr ;
return 0;
}
Вопрос заключается в том, В программе 1 выход стабилен, как:
The value of ptr is 00000000
while, в программе 2 вместо указателя int я использовал указатель char, и это дает мне исключение.
Может ли кто-нибудь помочь мне с пониманием?
Могу ли я избежать де-ссылки в случае с указателем символов? –
@MukeshPareek см. [Этот дубликат] (https://stackoverflow.com/questions/10869459/char-pointer-confusing-with-cout-in-c). – WhozCraig
Вы можете использовать char * как int, например: (int) ptr – kcraigie