结构体
关键字:typedef
用途:将一个比较长的变量类姓名换个名字,便于使用
定义typedef:
typedef unsigned char uint8_t;
引用typedef:
uint8_t a; //等效于unsigned char a;
结构体:
关键字:struct
用途:数据打包,不同类型变量的集合(可以理解数组只能放同一种类型的集合,而结构体解决了不同类型的集合)
#include <stdio.h> 
#include <stdlib.h>
typedef struct{
	char x;
	int y;
	float z;
}StructName_t;
int main(void){
	
	struct{char x;int y;float z;}c;
	c.x = 'A';
	printf("%c\n",c.x);
	
	//但是这样如果想用一次这样的结构体,还要重新声明
	//这时候就用到了typedef,为变量重命名 
	//用 StructName_t,可以理解为Java的类?成员属性? 
	//方式1: 
	StructName_t sn;
	
	sn.x = 'b';
	printf("%c\n",sn.x);
	//方式2:
	int num;
	StructName_t *psn; 
	//分配内存空间 
	psn = (StructName_t*)malloc(sizeof(StructName_t));
	psn->y = 'c';
	printf("%c",psn->y);
	//释放内存空间 
	free(psn);
	
}
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号