@lishuhuakai
2015-05-17T09:26:09.000000Z
字数 1111
阅读 1854
1.自己定义一个数据类型 数据类型的本质是固定大小内存块的别名
2.注意结构体类型定义变量的时候,c和c++编译器的处理行为不一样。
3.结构体类型typedef
4.结构变量内存四字节存放
#include <stdio.h>#include <stdlib.h>#include <string.h>//1.自己定义一个数据类型,数据类型的本质是固定大小内存块的别名//2..c和.cpp定义结构体类型定义变量的时候,c和c++编译器的处理行为不一样//3.结构体类型typedef//4.结构变量内存四字节存放,typedef struct Teacher{char name[62];int age;char title[128];/************************************************************************//*char name[62]; // 62字节char c1; //1字节char c2; //1字节int age; //4字节一共68字节 *//************************************************************************//************************************************************************//*char name[62]; //62字节char c1; //63 + 1空闲字节int age; //4字节char c2; //1字节 + 3空闲字节一共72字节 *//************************************************************************/}Teacher;//结构体变量的初始化3种方法//结构体定义变量的4种方法//结构体变量的复制方法,操作结构体变量void main(){//告诉编译器要分配内存struct Teacher t1; /*使用struct Teacher直接定义*/Teacher t2 = { "dddd", 40, "dffd" };/*只有使用了tyededef重命名了结构体才能这样用*//*常用的初始化方法就上面一种*/printf("sizeof(char):%d\n", sizeof(char));t1.age = 10; /*通过.直接赋值*/Teacher *p = NULL; /*通过指针间接赋值*/p = &t1;p->age = 20;printf("sizeof(Teacher):%d\n", sizeof(t1));system("pause");}
练习 c