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;
}