









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