学习内容:
1、结构体
通过三种方式输出
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct student
{
char name[20];
int age;
char sex;
};
struct A
{
int x;
struct student s;
};
int main()
{
/* struct student s1={"fgh",6,'a'};
printf("%s %d %c\n",s1.name,s1.age,s1.sex);
struct student s2;
scanf("%s%d%c\n",s2.name,&s2.age,&s2.sex);
printf("%s %d %c\n",s2.name,s2.age,s2.sex);*/
struct student *s3=(struct student *)malloc(sizeof(struct student)*64);
strcpy(s3->name,"aaa");
s3->age=10;
s3->sex='a';
printf("%s %d %c\n",s3->name,s3->age,s3->sex);
}
注意:定义空指针时,一定要给它分配空间。
2、求结构体长度
***(1)结构体的总长度一定是最长成员的整数倍(double 除外)
(2)每个成员的偏移量一定是该成员长度的整数倍
3、4G虚拟内存