首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教 struct system_struct xyz; 怎么判断 xyz 有没初始化

2012-08-10 
请问 struct system_struct xyz 如何判断 xyz 有没初始化?Hi,对于:void main() {struct system_struct xy

请问 struct system_struct xyz; 如何判断 xyz 有没初始化?
Hi,

对于:

void main() {
  struct system_struct xyz;

  if(xzy == NULL) {
  // 这样写 NULL 好像不对,因为 xyz 此是不是指针
  // 请问不用指针的情况下,如何在程序中判断 xyz 没有初始化????
  }
}

请帮下忙,谢谢。



[解决办法]
你可以从你system_struct这个结构体里面的成员入手判断有没有初始化。 一般你定义了一个结构体,使用之前都会给它初始化的,初始化的内容自己就会知道,再判断有没有初始化就容易了。
[解决办法]
在结构体中加一个是否被初始化标志,在创建对象的是
struct system_struct xyz;
memset(&xyz, 0, sizeof(system_struct));

if(0 == xzy.bInit)
 {
}
[解决办法]

探讨
请问如何这个 struct 不是自定义的,而是系统自带的情况下,又如何判断是否初始化?

[解决办法]
两个相同的结构体,abc=xyz,可以的。
C/C++ code
#include <stdio.h> struct system_struct{    int a;    int b;};int  main(){    struct system_struct xyz;    struct system_struct abc;    xyz.a =3;    xyz.b =4;    abc=xyz;    printf("%d %d\n",abc.a,abc.b); //测试输出3,4    return 0;} 

热点排行