结构体的首地址是为C语言中的特殊类型指针变量服务的。
指针变量存储的实际值即为地址,所以对指针变量赋值时,常见的方式就是
p = &a
c语言中定义一个结构体,其变量在编译时就确定好了。而且,编译后,变量的名称就不存在了,换成了相应的内存地址信息。所以,在运行时,再去检查某个变量是否存在,是不合理的 *** 作,系统是不支持的。
可以做的工作是:检测结构体中的变量的值是否为0。如:
#include <stdio.h>#include <string.h>
struct data {
int num
char name[11]
int age
} student
void main()
{
memset( &student, 0, sizeof(student) ) //清理结构体内容为0
if ( student.num==0 ) //如果没有数据,则录入数据
{
printf("input stu_num: ")scanf("%d", &student.num )
printf("input stu_name: ")scanf("%s", student.name )
printf("input stu_age: ")scanf("%d", &student.age )
}
}
代码没有实际意义,只在说明问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)