关于结构体声明与使用的有关问题
关于结构体声明与使用的问题
在我的程序中有个打印结构体的函数
这样通不过编译
但是下面的情况可以
是不是说如果用到结构体(作为参数或调用),需要事先知道结构体是什么结构?
第一种情况在函数声明时,是不是还不知道persons的结构,所以出错呢?
------解决方案--------------------
函数声明中需要知道具体的类型
------解决方案--------------------
或者先声明一下也可以:
struct persons;
自定义的类型,
系统不认识啊,
自然会报错了......
在我的程序中有个打印结构体的函数
- C/C++ code
#include <stdio.h> void display(struct persons *p) //定义 struct persons { some code; } //初始化 struct persons person={ some code; } int main() { display(); } void display(struct persons *p) { some code; }
这样通不过编译
但是下面的情况可以
- C/C++ code
#include <stdio.h> //定义 struct persons { some code; } //初始化 struct persons person={ some code; } void display(struct persons *p) int main() { display() } void display(struct persons *p) { some code; }
是不是说如果用到结构体(作为参数或调用),需要事先知道结构体是什么结构?
第一种情况在函数声明时,是不是还不知道persons的结构,所以出错呢?
------解决方案--------------------
函数声明中需要知道具体的类型
------解决方案--------------------
或者先声明一下也可以:
struct persons;
自定义的类型,
系统不认识啊,
自然会报错了......