2022-10-21 C语言二级指针( 双重指针 )常见用法,实例测试-传入一维指针地址可以取出函数内部申请的动态内存,取出变量值。

一、二级指针也叫二重指针,实际应用中常用作函数参数,通过使用双指针改变实参的值,这里我在分析gpio-leds驱动的时候看到下面的代码,传入一维指针地址可以取出函数内部申请的动态内存,取出变量值。

二、实例测试

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

void Func(int** pp){
    int* p = malloc(sizeof(int));
    *p = 100;
    *pp = p;
    printf("&p=%p\tp=%p\t*p=%d\n",&p,p,*p);
}

void read_string( const char **propname){
	
    char * b = (char*)malloc(sizeof(char) * 10); //必须采用动态分配的方式
    strcpy(b,"heartbeat");
    *propname = b;
}

int main(){
	const char *state = NULL;
    int *p = NULL;
    Func(&p);
    printf("&p=%p\tp=%p\t*p=%d\n",&p,p,*p);
	
	read_string(&state);
	printf("state=%s\n",state);	
	
    free(p);

    p = NULL;
}

三、参考文章

(688条消息) C语言双指针的使用_BLAZAR'的博客-CSDN博客

C进阶3:二维指针 - 简书 (jianshu.com)

(688条消息) C语言双指针的常见用法_JANYI2018的博客-CSDN博客_c语言双重指针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值