今天给结构体创建空间的时候突然出现这种错误。
莫名其妙。。。
illegal use of this type as an expression
see declaration of 'STACK'
后来仔细看的时候发现,写错了一个东西。
把t=(STACK *)malloc(STACK);改成 t=(STACK *)malloc(sizeof(STACK));就解决了。
在网上也看到导致这个错误的原因2:C有严谨的格式。变量必须定义在函数开头。
本文分享了在C语言中使用malloc为结构体分配内存时遇到的错误:非法将此类型用作表达式。通过调整代码,将t=(STACK*)malloc(STACK);改为t=(STACK*)malloc(sizeof(STACK));成功解决问题。同时提醒读者注意变量定义的位置。
今天给结构体创建空间的时候突然出现这种错误。
莫名其妙。。。
illegal use of this type as an expression
see declaration of 'STACK'
后来仔细看的时候发现,写错了一个东西。
把t=(STACK *)malloc(STACK);改成 t=(STACK *)malloc(sizeof(STACK));就解决了。
在网上也看到导致这个错误的原因2:C有严谨的格式。变量必须定义在函数开头。

被折叠的 条评论
为什么被折叠?