可能是一个愚蠢的问题,但是如何在char指针中访问特定字符?
我已经尝试关注...
char *pointer = "Hello";
printf("%s", pointer); // prints "Hello"
printf("%s", &pointer[0]); // also prints "Hello"
但是我想要的是printf(???)=>“ H”。一个字符。或“ e”。那怎么可能?
[pointer
是指向char
的指针,也称为char *
。
[char *pointer = "Hello";
之后,pointer
指向“ H”。
[给定printf
为%s
时,它将获得char *
并打印all从该位置开始找到的字符,直到看到空字符为止。
[告诉printf
打印单个字符,将实际字符值(不是指针)传递给它,然后使用%c
:
printf("%c", *pointer);
或:
printf("%c", pointer[0]);
或者,用“ e”代替“ H”:
printf("%c", pointer[1]);
char* pointer = "Hello";
创建一个指针,并将其分配给“ Hello”的基地址。
pointer和&pointer [0]是同一件事。
pointer [n]取地址“ Hello”,并用数字“ n”偏移它,请确保不要索引该地址的末尾,否则您将读到垃圾。
尝试一下:
char *pointer = "Hello";
printf("%c", pointer[0]); // Print 'H'
printf("%c", pointer[e]); // Print 'e'