首页 新闻 会员 周边

C语言-结构体声明疑惑

0
[已解决问题] 解决于 2015-05-21 18:15
#include "stdio.h"
#include "stdlib.h"
struct Teacher 
{
    int age;
    char name[];
};

char *getMemory4(int memorySize)
{
    struct Teacher *pTmp = NULL;
    pTmp = (struct Teacher *)malloc(memorySize * sizeof(struct Teacher));
    
    char *cVar = NULL;    
    cVar = (char *)malloc(memorySize * sizeof(struct Teacher));
    
    return cVar;
}
int main()
{
    return 0;
}

VC++ 6.0 报错如下:

VS2010 报错如下:

 

经测试: 当注释掉函数中的

    struct Teacher *pTmp = NULL;
    pTmp = (struct Teacher *)malloc(memorySize * sizeof(struct Teacher));

这两行时刻正常运行......实在是有点疑惑?

大神们怎么看?勿喷,谢谢!

ariclee的主页 ariclee | 菜鸟二级 | 园豆:227
提问于:2015-05-13 22:47
< >
分享
最佳答案
0

已解决!!!!C语言不能在函数中间定义变量!

ariclee | 菜鸟二级 |园豆:227 | 2015-05-15 12:51
其他回答(1)
0

为什么我的vc++6.0没有报错 就你最初的源码  也没看出你的代码有什么出错的地方

jiu~ | 园豆:444 (菜鸟二级) | 2015-05-14 01:20

然而还是这样子: 不科学啊!!

支持(0) 反对(0) ariclee | 园豆:227 (菜鸟二级) | 2015-05-14 09:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册