。。。
我说的不够明白?? - - ||
就是要给它增大空间啊,不把申请到的空间加到它上面,
怎么给它增大空间??
恩``
谢谢论坛和wind斑斑。。我改用动态了,但为什么我这样的是错的啊??typedef struct test{ int a; char arr[10]; int b;}test;test *Ptest;Ptest = (test *)malloc(2*sizeof(test));
错误: 1。 缺少存储类或类型说明符 2。“Ptest” : “int”与“test *”的间接寻址级别不同 3. “初始化” : 无法从“test *”转换为“int”
楼上的程序我运行了,好像没有问题啊.我用的是C-Free编译器.#include <stdio.h>
typedef struct test{ int a; char arr[10]; int b;}test;
int main(){ test *Ptest; if(Ptest = (test *)malloc(2*sizeof(test))) printf("分配成功!\n"); return 0;}
谢谢haishanglang
你帖出来的程序给了我点灵感,
我是把那个指针及申请空间都直接放在程序最上方,想做为一个全局变量来着。
但是一直有上面那几个错误,
我刚试了下,将这两个放到main函数里就OK了。
但不知道这是为什么。。。难道是申请空间必须放在主函数下?
而不能在main 函数外??
把struct test重命名为test.重命名的时候不要重复已有的共用体名,这很容易让编译器识别错误。
如果你实现规定了数组的长度,那就无法malloc了.该用动态数组差不多
再次感谢各位的热心帮忙``
问题基本上解决了。
:)