C语言里面的struct结构体

在C语言中struct结构体,其第一身份是作为C语言中的一种数据类型,这和char,int,float,double数据类型在C语言中的身份一样,通过对应的数据类型关键字,我们使用者知道用什么样的数据类型来满足我们的需要。而我们的IDE在编译程序的过程中,可以在经过编译器,链接器后将程序变为可执行.exe文件(就是机器语言)然后通过加载器将已经变为由机器语言表示的程序存到对应大小的内存中,在这个过程中每个数据究竟要占多少内存是根据其数据类型来决定的。注意一点“struct  结构体名”是完整的结构体数据类型的定义如果只有struct关键字,则是无名结构体,是一种限量版的结构体数据类型。

#include<stdio.h>
#include<stdlib.h>

struct student
{
    char name[10];
    floast score;
};
void main()
{
  struct student st1,st2,st3;
 
  system("pause");  
}

对于完整的结构体类型定义可以创建的变量根据自己的需求来定,但是对于不完整的无名结构体则只能以一下的方式创建变量

#include<stdio.h>
#include<stdlib.h>

struct
{
  char name[10];      
   float score;
}s1,s2;

void main()
{

  system("pause");    
}

 无名结构体创建的变量是限量的,因为你不能在创建结构体数据类型定义后直接使用这个不完整的数据类型,只能在开始定义结构体数据的时候限定发行变量。

猜你喜欢

转载自www.cnblogs.com/yanseng123/p/9107902.html