title: Why is the data type needed in pointer declarations?
body: <p>As far as I know about data types in C/C++, while declaring a variable, we need to declare its data type, which tells the compiler to reserve the number of bytes in the memory accordingly.</p>
  
  <p>But in the case of pointers, we know that their size is constant (eg. 2 bytes in "Turbo Compiler"), irrespective of the data type <em>of the variable it is pointing to</em>, because the pointer is storing a memory address as an unsigned integer.</p>
  
  <p>My question is, if the pointers are <em>always</em> a constant size in bytes, then what is the need of mentioning the <strong>data type</strong> while declaring them? Is my understanding about pointers wrong?</p>