c语言中*s++=*p是什么意思*s和*p是指向数组的指针

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 10:05:07
c语言中*s++=*p是什么意思*s和*p是指向数组的指针

c语言中*s++=*p是什么意思*s和*p是指向数组的指针
c语言中*s++=*p是什么意思
*s和*p是指向数组的指针

c语言中*s++=*p是什么意思*s和*p是指向数组的指针
这个就是看运算符优先级,

++运算符最高,接着是*运算符,接着是=运算符.

++是后置运算,先不管,
*是对指针指向地址取内容, 所以就是右边p指针指向的内容赋值到左边s指针指向的内容,
这个赋值操作完成后,++运算会让s指向下一个地址处.

举例:
char a[]= {'a', 'b', 'c'};
char b[]= {'1', '2', '3'};

char *s = a, *p = b;
那么*s++=*p等价于
{
a[0]=b[0]; //赋值
s = &a[1]; //s指针移位
}