访问char*的元素

MMH*_*MMH 8 c

我有一个char *p = "abcd",如何'a','b','c','d'只使用C(不是C++)访问元素?任何帮助,将不胜感激 .

Jon*_*oni 16

您可以使用索引:

 char a = p[0];
 char b = p[1];
 /* and so on */
Run Code Online (Sandbox Code Playgroud)

等效地,您可以使用指针算法,但我发现它不太可读:

char a = *p;
char b = *(p+1);
Run Code Online (Sandbox Code Playgroud)

如果你真的想让别人惊喜,你也可以这样写:

 char a = 0[p];
 char b = 1[p];
 /* and so on */
Run Code Online (Sandbox Code Playgroud)

  • 如果没有明确提到这是一个不好的做法,我宁可不要宣传初学者的第三种选择. (3认同)
  • @karoly我是说,除了直接索引(第一种选择)之外,什么都不用。 (2认同)