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.

Edited 3 Years Ago by Nick Evan: Fixed formatting

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 ?

Edited 3 Years Ago by Nick Evan: Fixed formatting

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

This article has been dead for over six months. Start a new discussion instead.