zoukankan      html  css  js  c++  java
  • 55 返回指针的函数

    1,C语言允许函数的返回值是一个指针(地址),这样的函数称为指针函数

    2,请编写一个函数 strlong(),返回两个字符串中较长的一个

      

       

     3,指针函数细节

      ①用指针作为函数的返回值时候需要注意,函数运行结束后,会销毁在它内部定义的所欲局部数据,包括局部变量,局部数组和形式参数,函数返回的指针不能指向这些数据

        

         fun返回是,n已经销毁,所以*p指向的是内存的垃圾值,而不是100

      ②函数运行结束后会销毁该函数所有的局部数据,这里所谓的销毁并不是将局部数据所占用的内存全部清0,而是程序放弃对它的使用权限,后面的代码可以使用这块内存

        

         ok可以打印出来,因为printf("ok"),这一行代码可能使用到了销毁的局部变量 n=100 的内存空间

      ③C语言不支持在调用函数时返回局部变量的地址,如果确实有这样的需求,需要定义局部变量为 static 变量

        

           p正确指向 200,这是因为 200 是 static 性质的,它的存储空间在静态存储区,fun 返回后并不会影响它,它不会被销毁

    4,编写一个函数,它会生成10个随机数,并使用表示指针的数组名(即第一个数组元素的地址)来返回它们

      

       

      

      

  • 相关阅读:
    ActionBarSherlock的使用——(一)配置
    一个炫酷的Actionbar效果
    Action Bar详解(二)
    Android L中的RecyclerView 、CardView 、Palette的使用
    Material Theme
    Material Design UI Widgets
    Material Design Get Started
    递归获取目录中所有文件
    Django ModelForm 模型表单组件
    使用 Python 统计中文字符的数量
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/12361825.html
Copyright © 2011-2022 走看看