#include struct BankAccount { int accNum; double balance; }; void Add1toBalance( struct BankAccount *p ) { p->balance = p->balance + 1; // p->balance is same as: (*p).balance } int main(int argc, char *argv[]) { struct BankAccount a; a.accNum = 123; a.balance = 1000.0; printf("Before calling update: a.accNum = %d a.balance = %f\n", a.accNum, a.balance); Add1toBalance( &a ); // Pass the ADDRESS of the struct variable ! printf("AFTER calling update: a.accNum = %d a.balance = %f\n", a.accNum, a.balance); }