// 结构体指针.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
//#define _CRT_SECURE_NO_WARNINGS
//在C或C++程序中,#define _CRT_SECURE_NO_WARNINGS 是一个预处理指令,
//用于在编译时禁止特定的安全警告。这些警告通常与使用了被视为不安全的函数有关,如 strcpy、strcat 和 sprintf 等。
//这些函数可能会导致缓冲区溢出,因为它们不会检查目标缓冲区的大小。
//当你编译程序并且使用了这些不安全的函数时,编译器可能会显示警告,告诉你这些函数的使用可能是不安全的,并建议你使用更安全的版本,
//如 strcpy_s、strcat_s 和 sprintf_s。然而,如果你确定你的代码是安全的,或者你有特殊的原因需要使用这些不安全的函数,
//你可以通过在程序的开头定义 _CRT_SECURE_NO_WARNINGS 来禁止这些警告。
#include <iostream>
#include<string.h>
int main()
{
typedef struct Student { //Student可省略
char name[50];
int age;
float score;
} StudentTypeDef;
// 使用新类型名来声明一个变量
StudentTypeDef student1;
// 设置变量的值
strcpy(student1.name, "Alice");
student1.age = 20;
student1.score = 90.5f;
// 使用新类型名来声明一个指针,并初始化它指向student1
StudentTypeDef* ptr = &student1;
// 使用指针访问和打印变量的值
printf("Name: %s\n", ptr->name);
printf("Age: %d\n", ptr->age);
printf("Score: %.2f\n", ptr->score);
return 0;
std::cout << "Hello World!\n";
}
运行:
-----------------------------------------
在STM32程序中应用解析:
typedef
来定义一个新的结构体类型
1---使用新类型名来声明一个变量
2---设置变量的值
3---(配置时钟系统)函数传参,需要的参数为:RCC_ClkInitTypeDef
结构体的指针RCC_ClkInitStruct,(传参后)指向RCC_ClkInitStructure
(函数原型:HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency))
使用指针(RCC_ClkInitStruct)访问变量(RCC_ClkInitStructure)的值 :