#include <stdio.h>
//define 是一个预处理指令
//1.define定义符号
//#define MAX 1000
//int main()
//{
// printf("%d\n", MAX);
//
// return 0;
//}
//2.define 定义宏
#define Add(x,y) ((x)+(y))
//int main()
//{
// printf("%d\n", 4*Add(2, 3));
//
// return 0;
//}
//指针 就是 地址
//int main()
//{
// int a = 10;//a在内存中要分配空间的 - 4个字节
// printf("%p\n", &a);//%p 专门用来打印地址的
// int * pa = &a;//pa是用来存放地址的,在c语言中pa叫指针变量
// //* 说明 pa是指针变量
// //int 说明pa执行的对象是int类型的
//
// char ch = 'w';
// char * pc = &ch;
//
// *pa = 20;//* 解引用操作 *pa就是通过pa里边的地址找到a
// printf("%d\n", a);
//
// printf("%d\n", sizeof(char*));
// printf("%d\n", sizeof(short*));
// printf("%d\n", sizeof(int*));
// printf("%d\n", sizeof(long*));
// printf("%d\n", sizeof(long long*));
// printf("%d\n", sizeof(float*));
// printf("%d\n", sizeof(double*));
// //都是4 指针大小是相同的
// //指针是用来存放地址的
// //指针需要多大空间,取决于地址的存储需要多大空间
// //32位 32bit - 4byte
// //64位 64bit - 8byte
// return 0;
//
//}
// 结构体可以让c语言创建新的类型出来
//创建一个学生类型
struct stu
{
char name[20];//成员变量
int age;
double score;
};
//创建一个书的类型
struct book
{
char name[20];
float price;
char id[30];
};
int main()
{
struct stu s = { "张三",20,85.5 };//结构体的创建和初始化
printf("1:%s %d %lf\n", s.name, s.age, s.score);//结构体变量.成员变量
struct stu * ps = &s;
printf("2:%s %d %lf\n", (*ps).name, (*ps).age, (*ps).score);
printf("3:%s %d %lf\n", ps->name, ps->age, ps->score);//结构体指针->成员变量名
return 0;
}
|