%p 专门用来打印地址
指针变量
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;
return 0;
}
反向
int main()
{
int a = 10;
int* pa = &a;
*pa = 20;// *解引用操作 *pa就是通过pa里面的地址,找到a
printf("%d\n", a);
return 0;
} 输出20.
//指针就是地址,所以使用指针变量的时候就是使用地址
//指针的大小是相同的。指针是用来存放地址的,指针需要多大空间,取决于地址的存储需要多大空间
结构体
//struct
//结构体可以让c语言创建新的类型出来
//创建一个学生
struct stu
{
char name[20];
int age;
double score;
};
//创建一本书
struct book
{
char name[20];
float age;
char id[30];
};
int main()
{
struct stu s = {"张三", 20, 65.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;
int Max(int x,int y)
{
//if (x > y)
// return x;
//else
// return y;
return x > y ? x:y;
}
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int m = Max(a,b);
printf("%d\n", m);
return 0;
}