salve a tutti ,avrei bisogno di un aiuto per quanto riguarda questo frammento di codice: non riesco a capire il motivo per cui quando lo mando in esecuzione e dopo aver inserito il nome il programma mi va in crash...qualcuno mi può aiutare?

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
typedef struct abbonato{
string nome;
string cognome;
string tel;
};
typedef abbonato* punt;

int main(int argc, char *argv[])
{
punt p;


cout<<"Inserire il nome\n";
getline(cin,p->nome);
cout<<"Inserire cognome\n";
getline(cin,p->cognome);
system("PAUSE");
return 0;
}