当前位置: 首页 > news >正文

C语言二级指针和void *应用

1、二级指针

指向指针的指针 --- 二级指针

// 二级指针一般用来改变一级指针的指向。

int a = 30;int b = 50;int * p = &a;// 定义一个指针指向p// 指针指向对象类型: int *int * * q;   // int **q;q = &p;// 改变一级指针的指向*q = &b;printf(“%p\n”,p);  // &bprintf(“%d\n”,*p); // b

场景:

        在函数内部需要 改变外部指针的指向。        

#include<stdio.h>int b = 50;函数(int * *q){// 修改主函数中p指针的指向*q = &b;}int main(){int a = 30;int * p = &a;函数(&p);printf("%p\n",p);printf("%d\n",*p);return 0;}

​​​​​​​2、void * - 万能指针

void * 数据类型;

        void *指针可以接受任意类型的地址,

        void *型的地址也可以被任意类型的指针接受

void * 用作函数返回值类型或者参数。

        返回值是void *: void *malloc( size_t size );

        形参类型是void *:  void *memset( void *buffer, int ch, size_t count );

                                          // 按照字节 将空间的数据设置成某一个字符 ch

举例:        

int a[5] = {2,5,6,7,10};// 需求: 将数组里面数据清0memset(a,0,sizeof(a));char str[] = “hello”;memset(str,’\0’,sizeof(str));

相关文章:

  • 说一下Java里面线程池的拒绝策略
  • .NET 中的异步编程模型
  • 软件测试的艺术与科学:构建商业级产品的优雅草卓伊凡
  • 接口访问子类特有方法的几种方式
  • 运放负反馈电路原理分析
  • 运行springboot
  • Middleware
  • AWK6943:MP9943 替代DCDC兼容方案及技术优势
  • VScode中如何创建项目分支
  • uniswap v4 TickBitmap库函数解析
  • 力扣刷题——二分查找
  • 2022年TASE SCI2区,学习灰狼算法LGWO+随机柔性车间调度,深度解析+性能实测
  • 关于MySql深分页的问题及优化方案
  • 25年春招:携程java开发一面
  • 华为OD机试_2025 B卷_计算最大乘积(Python,100分)(附详细解题思路)
  • 第28节 Node.js 文件系统
  • C++ 引用
  • 【推荐算法课程一】推荐算法介绍-深度学习算法
  • 预测性去匿名化攻击(PDAA):重塑数据安全攻防边界
  • Redis核心数据结构详解与应用
  • 镇江网站建设找思创/沧州seo包年优化软件排名
  • 网站点击弹出下载框 怎么做/windows7优化大师
  • 河南网络建站/知名品牌营销策划案例
  • 黄页网络的推广网/如何获取网站的seo
  • 呼和浩特网站seo/怎样做竞价推广
  • 外贸公司的网站建设模板下载/江北seo页面优化公司