0

如何为 char 指针数组和双指针完成内存分配。

char *s[]={"knowledge","is","power"}; 
char **p;
 p=s;
 cout<<++*p;

在编译器给出的上述代码输出中是-nowledge

我的问题是,如何将值分配给指针 p 以及如何递增。

4

1 回答 1

1

运算符++*具有相同的优先级,并且都是从右到左关联的,这意味着最右边的运算符(*)首先执行。的值*p是指向第一个字符串的第一个字符的指针。运算符++将其递增,使其成为指向第一个字符串的第二个字符的指针。这就是你获得“知识”的方式。

于 2018-08-18T02:05:46.900 回答