Visual Studio 2022环境中C语言的指针和函数结合使用(二)

 

我是荔园微风,作为一名在IT界整整25年的老兵,当年也被指针和函数的关系困惑过。我个人认为指针这个名字很容易让人理解出错,其实如果改个名字,叫“地点”,可能会好理解很多。但是没办法,也不知道为什么大多数人接受了指针这个名字,我也只好跟随,还能怎么办。

C语言中把指针和函数结合使用的常见方法有三种:

1. 函数参数为指针

2. 函数返回值为指针

3.通过函数指针变量调用函数

好,下面我们一个一个来攻克。今天我们讲第二个。

2. 函数返回值为指针

在C语言中允许一个函数返回值是一个指针,即地址,这种返回指针值的函数称为指针型函数。需要注意的是,不能返回局部数据的指针。

比如下面函数get_str返回了局部数组str的首地址,但调用get_str的其他函数并不能通过此地址访问字符串“I am a c programmer”。

char* get_str(void){

        char str[]={“I am a c programmer”};

        return str;

}

int main(){

char *p;

p=get_str();

for(i=0; *(p+i); i++)

      putchar(*(p+i));

return 0;

}

把上述get_str中的char str[]={“I am a c programmer”};改为char *str={“I am a c programmer”};即可,或者从内存的堆区申请字符串的窨,然后返回首地址。

char* get_str(void){

        char str*;

        str=(char*)malloc(100);

        if(!str)

        return NULL;

        strcpy(str,“I am a c programmer”);

        return str;

}

函数返回值为指针时,也可以实现将被调用函数中的多个处理结果传回给调用函数的地方。

各位小伙伴,这次我们就说到这里,下次我们再深入研究Visual Studio 2022这个强大的工具,相信你一定能喜欢上Visual Studio 2022。如果要转载我的文章请说明出处哦。

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值