Also, don't forget to 'delete' your pointers (in order!!) when you're done with them because you're using 'new'. Otherwise, you'll notice a considerable slowdown given enough time because you aren't freeing your memory. ^_^
Here is some fixed code:
1 2 3 4 5 6 7 8 9 10 11 12 13
friends_t * pfriends = new friends_t;
//friends_t * pfriends = &maria;
pfriends->favorite_movie = new movies_t;
pfriends->favorite_movie->year = 1979;
cout << pfriends->favorite_movie->year << endl;
//delete the pointers in the reverse order that you used 'new' on them
delete pfriends->favorite_movie;
pfriends->favorite_movie = 0; //a simple formality
delete pfriends;
pfriends = 0; //again, formality