目录
本节目标
初识指针
1、内存与地址
2、变量的地址
#include <stdio.h>
int main()
{
int num = 10;
#//取出num的地址
//注:这里num的4个字节,每个字节都有地址,取出的是第一个字节的地址(较小的地址)
printf("%p\n", &num);//打印地址,%p是以地址的形式打印
return 0;
}
3、指针变量
#include<stdio.h>
{
int num = 10;
int *p;//p为一个整形指针变量,int*是p的类型,其中*代表p是一个指针,int表示p指向的变量的类型是int的。
p = #
return 0;
}
4、指针的使用
#include <stdio.h>
int main()
{
int num = 10;
int* p = #
*p = 20;
printf("%d\n", num);
return 0;
}
5、指针变量的大小
#include <stdio.h>
int main()
{
//%zu:用来打印无符号整型,与 %u 相似
printf("%zu\n", sizeof(char*));
printf("%zu\n", sizeof(short*));
printf("%zu\n", sizeof(int*));
printf("%zu\n", sizeof(double*));
return 0;
}
初识结构体
1、什么是结构体
2、结构体的定义
struct Stu
{
char name[20];//名字
int age; //年龄
char sex[5]; //性别
char id[15]; //学号
};
3、结构体的使用
#include<stdio.h>
int main()
{
//定义结构体变量并对其进行初始化
struct Stu s = { "张三",18,"nan","220210101" };
//两种结构体访问操作符
// . 操作符
printf("%s\t%d\t%s\t%s\n", s.name, s.age, s.sex, s.id);
// -> 操作符
struct Stu* ps = &s; //定义结构体指针变量 ps 并将 s 的地址赋给 ps
printf("%s\t%d\t%s\t%s\n", ps->name, ps->age, ps->sex, ps->id);
return 0;
}