如何解决如何使用指针来表达数组
为了获得相同的结果,我编写了两种代码-使用数组和指针-
我对数组的理解是,即使我们在计算机中研究二维和3维,它们实际上也位于一行中。
例如,char * p [3] [2]实际上将位于6个房间的直线上,尽管我们将其研究为3行2列。
因此,以下两个代码(代码A 和代码B )将具有完全相同的结果。
代码A
#include <stdio.h>
int main()
{
char* p[3][2] = { "cat","play","hi","rabbit","babylon","dog" };
printf("%c\n",*(*(*p + 0) + 1));
printf("%c\n",*(*(*p + 5) + 2));
printf("%s\n",*(*p + 4));
printf("%s\n",*(*p + 1) + 1);
return 0;
}
代码B
#include <stdio.h>
int main()
{
char* p[3][2] = { "cat",*(*(*(p + 2) + 1) + 2));
printf("%s\n",*(*(p + 2)));
printf("%s\n",*(*(p + 0) + 1) + 1);
return 0;
}
我的理解正确吗?
由于犯了一些错误,我编辑了代码。
结果将是同时打印两个代码
a
g
babylon
lay
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。