C语言学习#003_初识指针,初识结构体

1. 初识指针

指针是什么?

指针就是用来保存地址的

获取变量地址

获取变量名使用 &变量名,写作:&变量名

#define _CRT_SECURE_NO_WARNINGS 1	

#include <stdio.h>

// 初识指针
int main()
{
    
    
	// 指针就是用来保存地址的

	// 声明一个整型变量
	int a = 10;
	// 取 a 的地址可以写成: &a
	printf("%p\n", &a); // %p 用来打印地址
	

	return 0;
}

指针的使用

#define _CRT_SECURE_NO_WARNINGS 1	

#include <stdio.h>

// 初识指针
int main()
{
    
    
	// 指针就是用来保存地址的

	// 声明一个整型变量
	int a = 10;
	// 取 a 的地址可以写成: &a
	printf("%p\n", &a); // %p 用来打印地址

	// 指针变量的声明
	// 前面的 int 代表我这里取的地址的类型是整型
	// pa 就是 变量名
	// int 和 变量名 中间的 * 代表我这个变量是一个指针变量
	int* pa = &a;

	// 用 * 解引用操作符, *pa 就是通过 pa 保存的这个地址去找到 a , 然后找到 a 变量对应的值
	printf("%d\n", *pa); // 10; 
	

	return 0;
}

指针的变量大小

32位平台运行的变量大小永远是 4 字节
64位平台运行的变量大小永远是 8 字节

在这里插入图片描述

在这里插入图片描述

2. 初识结构体

结构体的声明

在这里插入图片描述

结构体的使用

在这里插入图片描述

用指针来访问结构体里的内容

在这里插入图片描述

代码

#define _CRT_SECURE_NO_WARNINGS 1	

#include <stdio.h>

// 初识结构体

// 结构体的声明
// 声明一个学生类型
struct Student
{
    
    
	int id; // 学生id
	char name[20]; // 学生名字
	double score; // 学生成绩
};

int main()
{
    
    
	// 创建一个 结构体变量 并 初始化数据,初始化数据要根据 结构体 里的 数据类型 按 顺序 初始化
	struct Student student001 = {
    
     1001, "XiaoMing", 99.5 };
	// 结构体变量的使用(%d:打印整型,%s:打印字符串,%lf:打印double类型)
	printf("结构体变量的使用: %d %s %lf \n", student001.id, student001.name, student001.score);


	// 用指针来访问结构体
	struct Student* pStudent001 = &student001;
	// 用解引用操作符(.)来访问结构体的子数据
	printf("用指针来访问结构体(.): %d %s %lf \n", (*pStudent001).id, (*pStudent001).name, (*pStudent001).score);
	// 用 -> 指向结构体的子数据
	printf("用指针来访问结构体(->): %d %s %lf \n", pStudent001->id, pStudent001->name, pStudent001->score);

	return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/My_csdnQMDX/article/details/126849612