//
// main.m
// c9- 高级指针
//
// Created by dllo on 15/10/16.
// Copyright (c) 2015年 dllo. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "shu.h"
#import "ArrayOperation.h"
#define IOS
#define KApple int *
typedef int * QG;
//#define 小白试的替换
//typedef 类型重命名
// 预编译指令
//预编译, 编译,运行
//命名规范 1, K+驼峰命名法 2,纯大写
#define kMaxStuMum 5
#define sum(A, B) ((A) + (B))
//
#define MUL(A, B) ((A) * (B))
//都打上括弧是为了防止变量是个表达式,先算表达式的答案,以免发生错误
int main(int argc, const char * argv[]) {
// student stu[] = {
// {"yuhao", 'm', 1, 98},
// {"wangqiong", 'n', 2, 96},
// {"wangqiong", 'n', 2, 96}
// };
//
//student stu = {"yuhao", 'm', 1, 98};
//定义结构体类型的指针变量
//student *p = NULL;
//指向结构体类型的变量
// p = &stu;
//通过指针访问结构体变量的成员
// (*p).score = 98;
// p->score = 98;
//2种方式都可以
//定义一个点坐标的结构体(point),包含2个float成员,x,y
// point point1 = {0};
// point point2 = {0};
// point *p1 = &point1;
// point *p2 = &point2;
// (*p1).x = 3.1;
// (*p1).y = 4.7;
// (*p2).x = 3.7;
// (*p2).y = 6.7;
// float b = (p1->x - p2->x) * (p1->x - p2->x) + ( p1->y - p2->y) * ( p1->y - p2->y) ;
// float len = sqrt(b);
// printf("%f", len);
//
// student stu ={1,"lan ou", 'm', 98};
// student *p3 = &stu;
// p3->name[0] -= 32;
// for (int i = 0; i < strlen(p3->name); i++) {
// if (p3->name[i] == ' ') {
// p3->name[i] = '_';
// }
// }
// student stu ={1,"lan ou", 'm', 98};
// char *p = stu.name;
// // char *p1 = &(stu.sex);
// *p -= 32;
// for (int i = 0; i < strlen(p); i++) {
// if (p[i] == ' ') {
// p[i] = '_';
// }
// }
//
// printf("%s ",p);
//
// student stu[5] = {
// {"qingchung", 'm', 94, 32},
// {"qingung", 'm', 98, 32},
// {"qichung", 'f', 94, 32},
// {"qiddngchung", 'm', 96, 32},
// {"qinhung", 'm', 67, 32}
// };
// student *p = stu;
// printf("%d",p[1].score);
// printf("%d",(p + 1)->score);
// printf("%d",(*(p + 1)).score);
//
// student *p = stu;
// for (int i = 0; i < kMaxStuMum; i++) {
// if (p[i].sex == 'm') {
// // 分数加10 超过100给100
// p[i].score = p[i].score + 10 > 100 ? 100 : p[i].score + 10;
//
// }
// }
// for (int i = 0; i < 5; i++) {
// printf("%s %c %d %d", p[i].name, p[i].sex, p[i].score, p[i].number);
// }
//
//
//
// int a[6] = {1,33,45,56,43,432};
// printarray(a, 6);
// sortarray(a, 6);
// printarray(a, 6);
// int ret1 = sum(3,5);
// printf("%d ", ret1);
//
// int ret = MUL(3,5 + 2);
// printf("%d", ret);
//#define 小白试的替换
//typedef 类型重命名
// KApple p= NULL, m = NULL;//报错,因为define是小白一样的替换,所以m报错.
// QG q = NULL, n = NULL;
// int a = 3;
//
// p = &a;
// m = &a;
// q = &a;
// n = &a;
//
// 宏定义
//进入预编译
//#ifdef IOS
// int a= 3;
// printf("%d",a);
//#else
// int a =3;
// printf("%d",a);
//#endif
//
//#if IOS
//
// printf("aaaa");
//#else
//
// printf("bbbbb");
//#endif
//
return 0;
}