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.

Recommended Answers

All 4 Replies

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.