- 问个指针的小问题char**p;char*pt;pt=*p;pt
- char **p;
char *pt;
pt=*p;
pt=*(p+1);
假设赋值什么的都没问题。
我现在要问的是
pt=*p+1;这个语句可不可以用?
当然我知道它和pt=*(p+1);有区别。
只是想问问pt=*p+1;这个语句成立不?
- 这个问题正好前几天我遇到过.
1.pt=*p+1;这个语句完全正确.
2.根本原因:
因为指针运算符*的优先级高于+
3.两者区别:
//*p+1等于取p所指的值之后,再给所取的值加1.即: (先取值,值加1);
//而 pt=*(p+1)用括号改变了运算次序,先将p的地址向后指1,然后取地址中的值.
即: *p+1 (地址加1,后取值);