First of all a isn't a pointer, it's an array. It *decays* to a pointer in certain contexts, but it decays to a pointer to an int-array, not a pointer to an int, so you need to cast it if you want to use it as an int-pointer.
And yes, … Read More
> And i want to ask that in p definition, why it is written (int) with every element since a is already an pointer.
It's already a pointer, but the type is different. Try removing the cast and you'll get an error similar to: "*type mismatch between int(\*) and int\**" … Read More
> @deceptikon will you please write it in again into more simpler form ?
It really depends on what you want the code to do, but if you're trying to display the contents of the 2D array with pointer notation, you don't even need an intermediate pointer variable:
#include <stdio.h> … Read More
> one last point i wana ask which is generated from this explanitaion only.
> will you please this line again ? "As an operation to the address-of (&) operator. When you say &a, you get a pointer to an array, not a pointer to a pointer to the first … Read More
> means code written above will not work ? because sizeof will not work as you have said ?
It *will* work, but only because the function parameter is a pointer to an array.
> here p is a pointer to an array. so sizeof(*p) is size of complete array … Read More
> so this tells me that it doesn't refer to first element of array or I should say that it is not giving us address of first element of array , rather giving us address of an array of a particular size ? am i right ?
This is where … Read More