有人可以解释如何通过它的名称引用数组,通过在其名称前加上指针和双指针,如下面的代码所示:
#include<stdio.h>
main()
{
int a[3][2];
a[0][0]=15;
a[0][1]=150;
a[1][0]=115;
a[1][1]=165;
a[2][0]=135;
a[2][1]=139;
printf( "%u\n", a);
printf( "%u\n", *a);
printf( "%u\n", **a);
}
Run Code Online (Sandbox Code Playgroud)
第一个
printf("%u\n",a);
Run Code Online (Sandbox Code Playgroud)
打印地址a,该地址与第一个元素的地址相同.
第二个
printf("%u\n",*a);
Run Code Online (Sandbox Code Playgroud)
取消引用a并给出第一个"行"的地址a
第三个
printf("%u\n",**a);
Run Code Online (Sandbox Code Playgroud)
取消引用指向第一个"行"的指针,a并给出该二维数组中第一个元素的值.
当你打开警告编译你的例子时,编译器就会抱怨并告诉你一些你使用的类型.当您将指针作为参数printf指定时,您应该使用格式说明符%p
printf("%p\n",a);
printf("%p\n",*a);
Run Code Online (Sandbox Code Playgroud)
格式说明符%u适用于unsigned int,如果有int,则使用说明符更好%d
printf("%d\n",**a);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |