签到

05月07日
尚未签到

共有回帖数 0

    cynthie

    等级:
    比如这么个例子:

    char *rm(int i)
    {
    char sa[][3]={"12","34"};
    return sa;
    }

    应用到这样子一段事例中:

    char *s1,*s2;
    s1=sat(0);s2=sat(1);
    printf("%sn%s",s1+sizeof(char)*((strlen(s1))+1),s2);

    依然能够正常输出,而函数内部二维数组的生存周期难道不会止于所在函数的结束吗?如果不是,那它的生存周期应该到合时才消亡呢?

    (为免因误会而浪费时间,于此处事先澄清:我一般是不会让函数返回这种东西的,之所以问这个问题仅仅是警惕于自己对生存周期的不解会否在今后的其它场合引发更为可观的弊病而已……)

    等待着列位的回应,先谢了~

    楼主 2016-01-28 14:29 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知