C语言指针问题求解释
i=50;pi=&i;*pi=5;定义一个指针shortint**ppi;shortint*pi=5;shortinti=50;*ppi=π结果为ppi=9;*pp...
i=50;pi = &i;*pi = 5;定义一个指针 short int **ppi;short int *pi=5;short int i=50;*ppi =& pi;结果为 ppi=9; *ppi=5; **ppi=50; i的值是如何赋值给**ppi的
展开
展开全部
解释说明如下:
short int *pi=5; //定义了一个int型指针变量pi,存放的地址值是5
//而变量i的地址是5,所以pi指向了变量i,i=50。即pi=&i=5, i=50。
// *ppi = *pi; //这个应该是写错了吧,应该是下面这条语句!!!
ppi = π //&pi的值就是指针变量pi的地址值是9,而pi=5。即ppi=&pi=9, pi=5。
//那么,ppi=9了,即ppi指向了指针变量pi。
*ppi的值就是ppi所指向的变量pi的值=5。*ppi=pi=5。
**ppi <==> *(*ppi),即*(pi),而变量pi是指向变量i的,所以*pi=i=50。故**ppi=50。
综上所述,所以 ppi=9, *ppi=5, **ppi=50。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询