gpt4 book ai didi

c - 不带 * 的指针打印值数组中的指针

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:54 24 4
gpt4 key购买 nike

#include<stdio.h>
#include<string.h>

int main()
{
char arr[3][10];
char *ptr[3];
strcpy(arr[1],"abcde");
ptr[1]=arr[1];
printf("%s\n",arr[1]);
printf("%p\n", &arr[1]);
printf("%p\n", ptr[1]);
printf("%p\n", &ptr[1]);
printf("%s\n",ptr[1]);
printf("%s\n", *(ptr+1));
return 0;
}

结果

abcde
0x7ffdcbbd8daa
0x7ffdcbbd8daa
0x7ffc30ed1188
abcde
abcde

我知道ptr是一个指针数组。取消引用指针之前需要一个一元运算符。为什么我们可以在没有 * 的情况下取消引用指针 ptr[1]?谢谢

最佳答案

printf 中的

%s 说明符期望和 char * 类型的参数(它应该指向一个空终止字符串)。 ptr[1]char * 类型。因此,无需在此处应用取消引用运算符。

关于c - 不带 * 的指针打印值数组中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46447984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com