c++ 指针的小问题
intk=1;int*p2=&k;int**ppi;是指向指针的指针,那么*ppi与ppi是什么?哪个是地址.如果是要把*p2的地址赋给**ppi,是int**ppi=&...
int k=1;
int *p2=&k;
int **ppi;是指向指针的指针,那么*ppi与ppi是什么?哪个是地址.
如果是要把*p2的地址赋给**ppi,是int**ppi=&p2?为什么?
定义是否要多加个解引用操作符来说明类型?比如说定义的时候:int *p2;其中*p2是地址,但是使用的时候p2是地址,*p2是派生量.
int **ppi;使用的时候,**ppi是什么?*ppi和ppi又是什么?哪个是地址?
最好能回答详细点的,我就这么多分了.希望解答下,谢谢. 展开
int *p2=&k;
int **ppi;是指向指针的指针,那么*ppi与ppi是什么?哪个是地址.
如果是要把*p2的地址赋给**ppi,是int**ppi=&p2?为什么?
定义是否要多加个解引用操作符来说明类型?比如说定义的时候:int *p2;其中*p2是地址,但是使用的时候p2是地址,*p2是派生量.
int **ppi;使用的时候,**ppi是什么?*ppi和ppi又是什么?哪个是地址?
最好能回答详细点的,我就这么多分了.希望解答下,谢谢. 展开
2个回答
展开全部
首先要清楚,指针本省也是一种变量,故它本身有地址值
*ppi为它所指向的指针的地址值,ppi是变量ppi自身的地址值
int**ppi=&p2 因为*ppi是二重指针,它要指向一个地址,所以要把一个指针自身的地址值赋给它这就像就像一重指针(p2)一样,他指向一个整形变量,故要把整形变量的地址值赋给它
"int *p2;其中*p2是地址" *p2不是地址,这里是定义,*只是一个指针的标志符,不是取地址符,所以依然是p2为地址
对与int **ppi;,这里定义时说明它是一个二重指针,但赋给它的值要求依然是一个一重指针的地址; 它(**ppi)使用时,表示的是变量的值(及它所指向的一重指针所指向的变量),这里为k的值; 而*ppi是一重指针(这里为p2)的地址值,ppi则为ppi它自己的地址值
*ppi为它所指向的指针的地址值,ppi是变量ppi自身的地址值
int**ppi=&p2 因为*ppi是二重指针,它要指向一个地址,所以要把一个指针自身的地址值赋给它这就像就像一重指针(p2)一样,他指向一个整形变量,故要把整形变量的地址值赋给它
"int *p2;其中*p2是地址" *p2不是地址,这里是定义,*只是一个指针的标志符,不是取地址符,所以依然是p2为地址
对与int **ppi;,这里定义时说明它是一个二重指针,但赋给它的值要求依然是一个一重指针的地址; 它(**ppi)使用时,表示的是变量的值(及它所指向的一重指针所指向的变量),这里为k的值; 而*ppi是一重指针(这里为p2)的地址值,ppi则为ppi它自己的地址值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询