结构体指针做为输入型参数和返回参数为结构体指针
结构体指针运用
这个是个人笔记,多写写,以后忘记了来回顾。第一次写博客,不规范的地方多多关照!主要是自己做个小笔记的!!
C的代码其中的原理在代码中有注释
#include <stdio.h>
typedef struct // 创建一个结构体
{
int disk;
int file;
} SCFILE;
SCFILE * open(void) // 创建一个函数,返回值是结构体指针
{
SCFILE * hdl = NULL; // 创建一个结构体指针 初始化的时候需要 赋值 NULL,避免野指针
printf("open star 1=================================\n");
hdl = (SCFILE *)malloc(sizeof(SCFILE)); // 给指针分配指向的地址
printf("hdl value %p\n",hdl); // 直接打印 hdl ,表示该指针的指向的地址 ,即该结构体指针存的值
printf("*hdl value %d\n",*hdl); // *p 表示的指针进行解引用 由于结构体的存储特性,直接 *hdl 表示结构体中的第一个元素的值
printf("&hdl value %p\n",&hdl); // 表示该结构体指针的地址
printf("open 2\n");
hdl->disk = 10; // 给结构体中的元素赋值
printf("open 3\n");
hdl->file = 20; // 给结构体中的元素赋值
printf("open 4\n");
printf("*hdl value %d\n",*hdl); // 第一个元素的值
printf("hdl value %p\n",hdl); // 结构体指针里指向的地址,即该结构体指针存的值
printf("&hdl value %p\n",&hdl); // 该结构体指针的地址
printf("open end=========&