when gcc compile this code, name is a value point to the array,that's fine.but if you just use age ,it is replaced by the actual value of age,not the address,so you need get age's address.use &age is fine.