首页 > 编程语言 >【c&c++】二级指针的使用

【c&c++】二级指针的使用

时间:2022-11-18 10:00:54浏览次数:61  
标签:info 二级 c++ YF userInfo printf change 指针

有时候,我们需要在函数体的内部申请内存空间并初始化,然后将内部申请的存储空间交付给外部指针来引用,这时候,我们可以使用二级指针作为申请空间的函数的参数来实现。

main.c文件:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#pragma pack(push,1)
typedef struct userInfo{

    char a; //1字节
    int b;  //4字节
    short c;//2字节
    char d; //1字节
    char e; //1字节

} YF_userInfo;
#pragma pack(pop)

void addUserInfo(YF_userInfo **info);

int main(int argc, const char * argv[]) {

    YF_userInfo *userInfo = NULL;

    addUserInfo(&userInfo);

    printf("change a:%d\n",userInfo->a);
    printf("change b:%d\n",userInfo->b);
    printf("change c:%d\n",userInfo->c);
    printf("change d:%d\n",userInfo->d);
    printf("change e:%d\n",userInfo->e);

    free(userInfo);
    return 0;
}

/**
 *  注意:这里必须使用二级指针,如果使用一级指针的话,同级指针之间赋值
 *  是以值传递的方式传递,这样会导致外部传入的指针无法获得内部申请的内存空间,
 *  也就无法使用内部申请的空间内容。
 */
void addUserInfo(YF_userInfo **info){

    *info = (YF_userInfo *)malloc(sizeof(YF_userInfo));
    memset(*info,0,sizeof(YF_userInfo));

    YF_userInfo *userInfo = *info;

    userInfo->a = 1;
    userInfo->b = 10;
    userInfo->c = 5;
    userInfo->d = 9;
    userInfo->e = 3;

}

 

标签:info,二级,c++,YF,userInfo,printf,change,指针
From: https://www.cnblogs.com/opensmarty/p/16902229.html

相关文章

  • 计算机等级考试二级C语言程序设计专项训练题——程序设计题(四)
    31、请编写函数voidfun(charxx[]),函数的功能是:将字符串数组xx中下标为奇数的字符按其ASCII值从大到小的顺序进行排序。例如:源字符串为:abcdefgh,则处理后字符串为:ahcfedgb......
  • c++STL
    C++11常用特性的使用经验总结std::unordered_map与std::map用法基本差不多,std::map使用的数据结构为二叉树,而std::unordered_map内部是哈希表的实现方式;//std::uno......
  • C++图书资源管理系统
    C++图书资源管理系统题目3:图书资源管理实现一个简单的图书资源管理系统,管理维护已有图书资源,图书资源有不同的类型,有一般图书,杂志,电子资源等。不同资源有不同的属性和操......
  • C/C++自助攒机系统
    C/C++自助攒机系统管理员可以录入如下几种硬件的价格、型号信息:CPU:主频、品牌、价格、图片硬盘:容量、品牌、价格显示器:尺寸、品牌、价格内存:品牌、型号、价格机......
  • C++_内部链接与外部链接
    一.编译单元一个程序包括一个或多个编译单元。一个翻译单元由一个实现文件及其直接或间接包含的所有标头组成每一个Cpp文件即为一个编译单元单一定义规则”(ODR)在C......
  • c指针
    intp;//这是一个普通的整型变量int*p;//首先从P处开始,先与*结合,所以说明P是一个指针,然后再与int结合,说明指针所指向的内容的类型为int型.所以P是一个返回整型......
  • 一些关于Python Class和C++ Class 的不同点
    写在前面本文将对PythonClass的用法进行讲解,且重点将体现PythonClass与C++Class不同的地方。类的定义和C++类似,Python采用了Classxxx的定义方式,不过首字母需要大写......
  • C++20实践入门 第6版 电子书 pdf
    关注公众号,回复【电子书】即可:  ......
  • C++20高级编程 第五版 电子书 pdf
    原作名:ProfessionalC++,FifthEdition 关注公众号,回复【电子书】即可: ......
  • windows--cmake与c++的使用教程(10)
    1概述本文基于前文环境本节目标:复用cmake脚本文件2编写复用脚本2.1前言多个项目之间,很多cmake设置大相径庭。比如修改输出路径、编写适用与自己的宏或者函数......