Pride☻ 2022-02-22 07:10 采纳率: 100%
浏览 43
已结题

C语言求解,13.27帮我解答一下

img

img


13题和27题到底怎么做的呀,我就不理解这个吧
13题和27题到底怎么做的呀,我就不理解这个吧

  • 写回答

3条回答 默认 最新

  • yun6853992 2022-02-22 10:19
    关注

    这是两个最基础的题啊:
    13题:你需要了解学习和梳理一下*指针所代表的含义,如果声明为 int *p; 实际上p是int*类型的。
    这里的int * p = &n; 其实就是 int *p; p = &n; 那么p所指向的其实就是变量n所对应的地址,取地址对应的值,实际就是在(int *)类型的p前面加个(*) 即,这里的 p表示的是n的地址,而 *p表示的是n的地址对应的值就是n
    27题是最基础的结构体初始化。 你需要去学习一下结构体的初始化。
    struct A {int a; int b;}; A a = {1,2}; 再就是复杂的嵌套而已。

    int main()
    {
        //13题:理解int* 的概念(p指向一个地址),以及取地址上对应的值的方法 *p;
        int testn = 1, testm = 2;
        int* p = &testn;
        int* q = NULL; q = &testm;  //这两个等价
        //实际上 你要学习int *指针是啥, 实际上int *表示的是一个地址,取地址对应的值用*
        //如取testn的值,和地址: 
        printf("testn 地址: [%p:%p] testn值[%d:%d] \n ", &testn, p, *p, testn);
        //输出:testn 地址: [010FFAB0:010FFAB0] testn值[1:1]
        //可以看出: 地址可以用&testn 和int* 类型的p表示,而对应的值可以用testn和(*p)取值
        //====》这里你需要好好理解指针和*的概念,去百度或者书本上梳理一下。
    //27题:你要梳理一下结构体的初始化。
        struct  A { int a; int b; };
        A t_a = { 1,2 };  //这个最简单结构体你能理解?     
        printf("struct data is [%d][%d] \n", t_a.a, t_a.b); //struct data is[1][2]
    
        //嵌套结构体的定义
        struct B { int c;  struct A d; }; //嵌套结构体 其实和struct B { int c;  int a; int b; };没差 只是换了方式
        B t_b = { 3,{1,2} }; //内部对象,按同样的{}方式初始化而已
        A t_c = t_b.d;  //和直接t_b.d.a  t_b.d.b是一样的
        printf("struct b is [%d, %d, %d] \n", t_b.c, t_c.a, t_c.b);//struct b is[3, 1, 2]
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月22日
  • 创建了问题 2月22日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度