c++ 指针的指针参数

举报
风吹稻花香 发表于 2021/06/04 22:29:39 2021/06/04
【摘要】   一:计算内存容量     sizeof(a)计算数组的容量     sizeof(p)计算指针变量的字节数        注意当数组作为函数的参数进行传递时自动退化为相同类型的指针 二:指向指针的指针 ...

 

一:计算内存容量

    sizeof(a)计算数组的容量

    sizeof(p)计算指针变量的字节数

       注意当数组作为函数的参数进行传递时自动退化为相同类型的指针

二:指向指针的指针

    首先,当指针作为形参时,实参向形参传递的是地址,在函数执行过程中既可以对指针变量进行操作也可以对指针所指数据进行操作(即P和*P).由于形参和实参指向同一个内存单元,当形参指向的数据改变那么实参所指向的数据也相应改变,这时的形参可以作为输出参数.

    其次,实参和形参指向同一个地址,他们只是指向相同,指针变量自身的地址却不相同.也就是说当形参新指向了一块新内存时它不能为实参也同样带回一块内存地址.此时就会用到指针的指针如下:

        void GetMemory(char **p, int num)

        {
            *p=(char*)malloc(sizeof(char)*num);

        }

        调用:char * str = NULL;

                   GetMemory(&str, num);

                    free(str);     
 

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/116592860

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。