[问题] 请教以双重指标阵列存取特定字符用法

楼主: jojojen (JJJ)   2018-06-17 21:36:44
开发平台(Platform): (Ex: Win10, Linux, ...)
Mac
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Xcode
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)

问题(Question):
分别用两个指标指向两个字串后,再用一个双重指标阵列储存两个指标
请问如何以该双重指标阵列,存取字串中的特定字符?
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
int main(int argc, const char * argv[]) {
char str1[] = "123";
char str2[] = "456";
char *ptr1 = str1;
char *ptr2 = str2;
char **pptr[2];
pptr[0] = ptr1;
pptr[1] = ptr2;
printf("%s\n", ptr2); // 456
printf("%s\n", pptr[1]); // 456
printf("%c\n", ptr2[1]); // 5
printf("%c\n", (pptr[1])[1]); // 空白 ,预期应该跟上行程式结果相同
}
补充说明(Supplement):
指标阵列跟双重指标的意思都懂,但两个合在一起使用就不太行了
想请问以上述的双重指标阵列pptr该如何表示才能正确输出字符'5'
麻烦各位大大了
作者: Feis (永远睡不着 @@)   2018-06-17 21:56:00
你要的是 char *pptr[2]; 吗?
作者: threesmaller (三小儿)   2018-06-17 21:57:00
先casting
作者: Feis (永远睡不着 @@)   2018-06-17 22:02:00
那你要先想想为什么要用双重指标.char *pptr[2]; 再加个 char **ppptr = pptr; 应该是你要的

Links booklink

Contact Us: admin [ a t ] ucptt.com