basically u can think of any variable in C as a storage location in computer memory.
when u declare a variable, u are allocating a mempry storage for the variable, and the variable name refers to the value resides in that memory location.
when u use scanf, it needs a storage to store the input value, ie the address of a memory location, not the value residing in that location, hence the use of & as referring the address of the memory location/variable. with array, the variable name itself refers to the address of the start of the array (e.g string of chars) so u can use the array name itself as arg to scanf without the need to use &
need help with c programming