
请问c语言中类似 *q=(*p)-'0' 这样的语句要怎么理解。。。实在看不懂,求教
2个回答
展开全部
*p--=0表示先对指针p所指向的内存单元赋值为0,之后,将指针p的地址减1一个内存单元的大小。
可以通过如下的程序段来进行理解:
int a[]={1,2,3,4}; // 定义一个int型数组,并进行初始化
int *p=&a[2]; // 定义一个int型指针变量,并指向a[2]所在的内存单元
printf("%x\n", p); // 输出指针p的内存地址,结果为0x2cfb28
*p--=0; // 将内存地址为0x2cfb28的内存单元赋值为0(即a[2]=0),之后内存地址减4(因为一个int类型占4个存储单元)
printf("%x\n", p); // 输出指针p的内存地址,结果为0x2cfb24
以上程序执行后数组a的值为1 2 0 4
————————————————
如果能够帮助你,麻烦采纳
你的采纳是我答题的动力
——谢谢你给我的支持!!!
可以通过如下的程序段来进行理解:
int a[]={1,2,3,4}; // 定义一个int型数组,并进行初始化
int *p=&a[2]; // 定义一个int型指针变量,并指向a[2]所在的内存单元
printf("%x\n", p); // 输出指针p的内存地址,结果为0x2cfb28
*p--=0; // 将内存地址为0x2cfb28的内存单元赋值为0(即a[2]=0),之后内存地址减4(因为一个int类型占4个存储单元)
printf("%x\n", p); // 输出指针p的内存地址,结果为0x2cfb24
以上程序执行后数组a的值为1 2 0 4
————————————————
如果能够帮助你,麻烦采纳
你的采纳是我答题的动力
——谢谢你给我的支持!!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询