









#importtypedef struct students{ }Stu; int main(int argc, const char * argv[]) { //结构体,里面的是成员(变量) struct teacher { char name[30]; char sex; int age; char course[30]; }; //struct teacher类型 a变量名 struct teacher a = {"cuilaoshi",'m',18,"language C"}; // Teacher c = {"cuilaoshi",'m',18,"language C"}; struct cup { float price;//价钱 char color[30];//颜色 int capacity;//容量 }; //struct cup类型 b变量名 {20.5,"red",500}初值 struct cup b = {20.5,"red",500}; //使用typedef 重新定义类型 //1.定义结构体的同时,就取别名 //2.先定义结构体,再取别名 typedef struct teacher Teacher; Teacher c = {"cuilaoshi",'m',18,"language C"}; //类跟结构体很相似 // 访问结构体成员表示,结构体变量.成员 a.name strcpy(a.course, "Objective-C"); a.sex='f'; //打印结构体,可以在main函数,也可以定义函数打印 printf("%s",a.name); printf(" %c ",a.sex); printf(" %d ",a.age); printf(" %s",a.course); //匿名结构体 //结构体赋值 //结构体可以直接赋值 //有三个学生, 编程找出分数最高者以及年龄最小者 //字符串赋值拷贝 return 0; }
#import#import "Student.h" #import "MyRect.h" int main(int argc, const char * argv[]) { // 有三个学?生,编程找出分数最?高者以及 // 年龄最?小者 #pragma mark----------------结构体数组 stu s[3]={ {"zhangsan",23,90,{1990,9,28}}, {"zuoyoudong",25,88,{1991,9,20}}, {"fanghao",24,89,{1992,8,8}} }; stu max = s[0]; #pragma mark----------------结构体中求最大值与最小值 //注意定义最小,不要初始值为0,否则最小总是0,可以定义为第一个元素s[0] stu min = s[0]; //i可以从1开始,因为定义时,已经假设第一个元素s[0]最小或最大,然后让它去跟数组其它元素(第二个,第三个去计较就行了) for (int i = 0; i<3; i++) { if (min.age>s[i].age) { min.age=s[i].age; } if (max.score s2.score?s1:s2; // max = max.score>s3.score?max:s3; #pragma mark----------结构体占多少内存空间 // //按最大类型的整数倍分配空间sizeof // printf("%s %lu",max.name,sizeof(stu)); //// //年龄最小者 // stu min = {0}; // min = s1.age#import "Student.h" #pragma mark----------结构体声明写在.h文件中 struct date { int year; int month; int day; }; typedef struct date Date; typedef struct students{ char name[20];//姓名 int age;//年龄 float score;//分数 Date birthday;//生日 }stu; void bubbleSort(stu s[],int count); void printfStu(stu s[],int count);
"Student.m" void bubbleSort(stu s[],int count) { for (int i = 0; i
#import "MyRect.h" typedef struct Lpoint { float x; float y; }Lpoint; //构建一个LPoint Lpoint LpointMake(float x,float y); //在iOS里,你会见到 CGPoint CGPointMake(CGFloat x,CGFloat y); //其中CGFloat是typedef出来的, typedef float CGFloat; //判断两个点是否相同 BOOL LPointisEqual(Lpoint p1,Lpoint p2); typedef struct LSize { float width; float hight; }LSize; LSize LpsizeMake(float width, float height); "MyRect.m" //构建一个LPoint Lpoint LpointMake(float x,float y) { Lpoint p = {x,y}; return p; } //判断两个点是否相同 BOOL LPointisEqual(Lpoint p1,Lpoint p2) { if (p1.x == p2.x && p1.y == p2.y) { return YES; //不写else相当于必走 }else{ return NO; } } LSize LpsizeMake(float width, float height) { LSize siz = {width,height}; return siz; }