欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > C语言二级指针和void *应用

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

2025/6/19 7:25:41 来源:https://blog.csdn.net/amyliyanice/article/details/148618380  浏览:    关键词: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));

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词