为了账号安全,请及时绑定邮箱和手机立即绑定

a究竟是怎么存储的,怎么会出现a和*a是一样的呢?

a究竟是怎么存储的,怎么会出现a和*a是一样的呢?

C
jeck猫 2023-04-18 22:18:28
#include <stdio.h>int main(int argc, const char *argv[]){ int a[2][3] = { {1, 2, 3},  {4, 5, 6} };  printf("%p\n", a); printf("%p\n", *a); return 0; }打印的结果是,一样的指针.a究竟是怎么存储的,怎么会出现a和*a是一样的呢?
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

int a[10]

这里的数组其实是个指针,a就是指向第一个元素,如果那个元素是一个数组的话(多维数组),也就是说a指向一个指针


查看完整回答
反对 回复 2023-04-21
?
慕仙森

TA贡献1827条经验 获得超7个赞

int a[1][2][3] = {        1, 2, 3,        4, 5, 6
    };    printf("%p\n", a);    printf("%p\n", *a);    printf("%p\n", **a);    printf("%d\n", ***a);    return 0;

其中a,*a,**a都是一样的. 最后一行打印的是1


查看完整回答
反对 回复 2023-04-21
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信