C9-高级指针

一、指针变量的定义和使用
二、取值运算符
三、取值运算符
四、指针的算术运算

代码:
typedef struct student {
char sex;
int num;
float score;
} Student;

typedef struct CPoint {
float x;
float y;
} CP;

typedef struct teacher {
char name[10];
char sex;
float score;
} Teacher;

 //命名:全大写 或 k+驼峰命名法

define STUNUM 2000

define kMax 2000

define MUL(a, b) ((a) * (b))

define test1 int *

typedef int * test2;

int main(int argc, const char * argv[]) {

// Student stu = {‘m’, 3, 99.9};
// // 结构体指针的大小与结构体的大小匹配
// Student *p = NULL;
//
// // 指向结构体变量
// p = &stu;
// // 不能通过指针一次性打印结构体中所有成员
// // printf(“%c\n”, *p);
//
// // 通过指针访问结构体中的成员
// printf(“%d\n”, p->num);
// printf(“%c\n”, p->sex);
//
// printf(“%c\n”, (*p).sex);

// CP c = {3, 4};
// CP d = {9, 12};
// CP *p = NULL;
// CP *q = NULL;
// p = &c;
// q = &d;
// float sum1 = 0;
// sum1 = (((p).x - q->x) ((p).x - q->x)) + (((*p).y - q->y) ((*p).y - q->y));
//
// sum1 = sqrt(sum1);
//
// printf(“%.2f “, sum1);

// 数组指针。 男生成绩+10,超过100则打印100

// Student a[] = {{“zhangsan”, ‘m’, 80}, {“lisi”, ‘f’, 80}, {“wangwu”, ‘m’, 99}, {“zhaoliu”, ‘m’, 60}};
// int count = sizeof(a) / sizeof(a[0]);
// Student *p = NULL;
// p = a;
// for (int i = 0; i < count; i++) {
// if (‘m’ == p[i].sex) {
// p[i].score += 10;
// if (p[i].score > 100) {
// p[i].score = 100;
// }
// printf(“%s %c %.2f\n”, p[i].name, p[i].sex, p[i].score);
// }
// }

//  宏

// Student stu[3] = {
// {“zhangsan”, ‘m’, 99.9},
// {“lisi”, ‘f’, 88.8},
// {“wangwu”, ‘m’, 77.7}
// };
// Student *p = NULL;
// p = stu;
// p++;
// printf(“%.2f\n”, (*(p + 1)).score);

// int ret = MUL(3 + 7, 5 + 8);
// printf(“%d\n”, ret);

// 注意:用typedef和#define交换指针类型后,指针使用的影响
// typedef是类型交换,define是将替换的内容完全移动到主函数中调用的位置

// int *p = NULL;
// int *q = NULL;
// int *p, *q;
//
// int a = 3;
// test1 a1 = NULL, a2 = NULL;
// test2 b1 = NULL, b2 = NULL;
// a1 = &a;
// a2 = &a;
// b1 = &a;
// b2 = &a;
// printf(“%d “, *a1);
// printf(“%d “, *a2);
// printf(“%d “, *b1);
// printf(“%d “, *b2);

//#if 0
// for (int i = 0; i < 5; i++) {
// printf(“a “);
// }
//#else
// for (int i = 0; i < 5; i++) {
// printf(“b “);
// }
//#endif
//

return 0;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章