#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; }