1.

int *f()
{
int *m=(int *)malloc(2);
return m;
}

WHY THIS POINTER TO INT TREATED AS A GLOBAL VARIABLE.
2.can a pointer points to another pointer like that

int *p,i=2;
int *q;
p=&i;
q=p;

IS IT RIGHT.

about the second question yes you can use pointer to refrence to another pointer and this is the method used in dynamic allocation of multi dimintion aray you can write :

void a2d(int i,int j)
{
int **t =new int*  ;//rows
for(int k=0;k<i;k++)
t[k]=new int[j] ; //col
}

but i do not understand the first question but notice that the pointer is a refrense mean that if u pass a pointer of int to an function it does not take a copy from the int it takes a copy of the refrence to the int so if u change the int value it will be changed and u can not retain the previous value for example :

main()
{
int *i=new int ;
*i=2;
fun (i) ;
cout<<*i;
getch();
}
void fun (int *m)
{
*m=3;
}

the result of the cout will be 3 is that what u mean ?

there can be pointer to pointer.
int a=25;
int*b=&a;
int**c=&b;

there can be pointer to pointer.
.............
int a=25;
int*b=&a;
int**c=&b;
............
here c is pointer to b.

there can be pointer to pointer.
.............
int a=25;
int*b=&a;
int**c=&b;
............
here c is pointer to b and b is pointer to a.
value of acan be accesed in two ways.ie by both the pointers.


if i am wrong anywhere please tell me.thank you :p

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.