I copied this example from the book and no matter what i input the output memory address is always: 18495548
Enter last name: Fredeldumpkin
Fredeldumpkin at 18495548
Enter last name: Pook
Pook at 18495548
Instead of:
Enter last name: Fredeldumpkin
Fredeldumpkin at 0x004326b8
Enter last name: Pook
Pook at 0x004301c8
Code:
#include <clx.h>
#include <iostream>
#include <cstring>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
char * getname(void);
int main(int argc, char* argv[])
{
char * name;
name = getname();
cout << name << " at " << (int *) name << "\n";
delete [] name;
name = getname();
cout << name << " at " << (int *) name << "\n";
delete [] name;
cin.get();
cin.get();
return 0;
}
char * getname()
{
char temp[80];
cout << "Enter last name: ";
cin >> temp;
char * pn = new char[strlen(temp) + 1];
strcpy(pn, temp);
return pn;
}