如何为 char 指针数组和双指针完成内存分配。
char *s[]={"knowledge","is","power"};
char **p;
p=s;
cout<<++*p;
在编译器给出的上述代码输出中是-nowledge
我的问题是,如何将值分配给指针 p 以及如何递增。
如何为 char 指针数组和双指针完成内存分配。
char *s[]={"knowledge","is","power"};
char **p;
p=s;
cout<<++*p;
在编译器给出的上述代码输出中是-nowledge
我的问题是,如何将值分配给指针 p 以及如何递增。
运算符++
和*
具有相同的优先级,并且都是从右到左关联的,这意味着最右边的运算符(*
)首先执行。的值*p
是指向第一个字符串的第一个字符的指针。运算符++
将其递增,使其成为指向第一个字符串的第二个字符的指针。这就是你获得“知识”的方式。