您的位置:控制工程论坛网论坛 » 自动化软件 » 大家来分析一下经典的C程序题目

zhiy66

zhiy66   |   当前状态:在线

总积分:6528  2025年可用积分:0

注册时间: 2007-12-18

最后登录时间: 2012-01-11

空间 发短消息加为好友

大家来分析一下经典的C程序题目

zhiy66  发表于 2009/3/24 21:20:29      1020 查看 6 回复  [上一主题]  [下一主题]

手机阅读

题目:
    struct S
{
    int i;
    int * p;
};

  void main()
{
    struct S s;
    int * p = &s.i;

    p[0] = 4;
    p[1] = 3;

    s.p = p;

    s.p[1] = 1;
  s.p[0] = 2;
}

问程序会在哪一行死掉。
1楼 0 0 回复
  • semiscone

    semiscone   |   当前状态:在线

    总积分:4800  2025年可用积分:0

    注册时间: 2008-04-29

    最后登录时间: 2013-07-11

    空间 发短消息加为好友

    semiscone   发表于 2008/12/18 16:41:04

    2楼 回复本楼

    引用 semiscone 2008/12/18 16:41:04 发表于2楼的内容

  • zhiy66

    zhiy66   |   当前状态:在线

    总积分:6528  2025年可用积分:0

    注册时间: 2007-12-18

    最后登录时间: 2012-01-11

    空间 发短消息加为好友

    zhiy66   发表于 2008/12/19 13:08:11

    C语言的精髓就在于指针的使用,应该说指针用的好了,在节省空间和提高效能方面都是有很大益处的.


    所以指针没学好还是补习补习吧 , 呵呵

    3楼 回复本楼

    引用 zhiy66 2008/12/19 13:08:11 发表于3楼的内容

  • sinside

    sinside   |   当前状态:离线

    总积分:57  2025年可用积分:0

    注册时间: 2008-12-31

    最后登录时间: 2008-12-31

    空间 发短消息加为好友

    sinside   发表于 2008/12/31 14:42:57

      void main()
    {
        struct S s;
        int * p = &s.i; 

        p[0] = 4;          // s.i = 4
        p[1] = 3;          // s.p = 3 假设s.p是16bit的指针

        s.p = p;            // s.p == &s.i

        s.p[1] = 1;       // s.p = 1
      s.p[0] = 2;         // [0x1]这个地址(16bit)的内容为2
    }


    会不会死还要看编译器和芯片,如果某些芯片的这些地址都是允许操作的,那不见得会死。

    4楼 回复本楼

    引用 sinside 2008/12/31 14:42:57 发表于4楼的内容

  • lthlycyj

    lthlycyj   |   当前状态:在线

    总积分:2346  2025年可用积分:0

    注册时间: 2007-09-03

    最后登录时间: 2019-06-23

    空间 发短消息加为好友

    lthlycyj   发表于 2009/3/23 21:43:01

    ico
    5楼 回复本楼

    引用 lthlycyj 2009/3/23 21:43:01 发表于5楼的内容

  • 中州刀客

    中州刀客   |   当前状态:离线

    总积分:57  2025年可用积分:0

    注册时间: 2009-03-24

    最后登录时间: 2009-03-24

    空间 发短消息加为好友

    中州刀客   发表于 2009/3/24 10:21:00

    我很讨厌指针
    6楼 回复本楼

    引用 中州刀客 2009/3/24 10:21:00 发表于6楼的内容

  • semiscone

    semiscone   |   当前状态:在线

    总积分:4800  2025年可用积分:0

    注册时间: 2008-04-29

    最后登录时间: 2013-07-11

    空间 发短消息加为好友

    semiscone   发表于 2009/3/24 21:20:29


    7楼 回复本楼

    引用 semiscone 2009/3/24 21:20:29 发表于7楼的内容

总共 , 当前 /