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,后取值);
热心网友
当然可以了 pt=*p+1的意思是先取 *p的值然后在加数1 pt=*(p+1)的意思是将指针移动到下一个值
热心网友
可以成立。只是意义不同。pt=*(p+1);代表的指针变量是(p+1);而pt=*p+1:代表的指针变量是p;
热心网友
可以 自己试试吧
热心网友
意义不一样,能成立.