这个程序从语法上没有错误,但是从逻辑上讲是有问题的。因为调用function()函数已经执行完毕函数内存的静态变量已经释放,p就不能指向 i   但是却把 i 的内存变量值读取出来了,这是不可以的。静态变量不可以跨函数使用

#include <stdio.h>void function(int ** q) {  //q是个指针变量,无论q是什么类型指正变量,都只占4个字节int i = 5;*q = &i;
}int main(void) {int *p;function(&p);printf("%d\n", *p);while (true){}return 0;
}

静态变量不能跨函数使用相关推荐

  1. C/C++开发工程师面试题整理(一)——C语言关键字、预处理、静态变量全局变量、函数等

    整理一些找工作问到的题型和答案,加油吧,小菜鸡.不会的很多,感谢各位面试官的提问和解释,让我获益匪浅. 一.C语言关键字 1.关键字static的作用是什么(中兴面试题2020) 答:1.static ...

  2. php的静态变量static在函数内部

    静态变量放在函数内 <?phpheader('content-type:text/html;charset=utf-8');function fun(){static $num=1;$num++ ...

  3. 深入理解C语言系列之内存和地址的故事(虚拟内存分区、全局变量与静态变量、外部函数内部函数、选择性编译)

    文章目录 一.内存的分区 二.虚拟内存分区 三.变量作用域与静态变量 四.外部函数与内部函数 五.include与define选择性编译 一.内存的分区 1.内存分为:物理内存和虚拟内存. 物理内存︰ ...

  4. PHP的静态变量和引用函数

    直接贴代码,结果的原因写在备注了 <?php /** * Created by PhpStorm. * User: Administrator * Date: 16-8-25 * Time: 上 ...

  5. 静态变量php跨页面,PHP的静态变量 - jone的个人页面 - OSCHINA - 中文开源技术交流社区...

    静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中.一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会.就是说,下次再调用这个函数的时候,该变量的值会保留下来. 只要在变量 ...

  6. C++匿名对象生命周期静态变量函数

    本文主要复习了c++构造函数的用法,然后对匿名对象的声明周期和C++的静态变量和静态成员函数的用法做了一些总结. 文章有如下三点: 1.主要讨论匿名对象的声明周期 2.引出的一个在构造函数中再一次调用 ...

  7. matlab静态变量怎样分配内存,matlab中的静态变量

    persistent X Y Z 将X,Y,Z定义为在其声明处的函数的局部变量.然而,这些变量的值在函数调用期间在内存中保存(应该是堆区).Persistent 变量和global(全局)变量相似,因 ...

  8. C语言中static静态变量

    静态变量的说明符是static static静态变量属于静态存储方式,其存储空间是 静态数据区(也就是存入全局存储区),静态数据区的数据在整个程序运行期间一直占用这些内存.也可以认为他的内存地址一直不 ...

  9. php5 unset,PHP 中的 unset--删不掉的静态变量

    测试程序如下: function &getObj_ref(){ static $obj; static $id = 1; if(empty($obj)){ $obj = new stdClas ...

最新文章

  1. CFRunLoopRef 的内部逻辑(向 ibireme学习)
  2. Java多线程——线程的优先级和生命周期
  3. Linux生成ssh公钥免密码登录远程主机和Xshell跨跳板机登录
  4. 3.1.10 OS之基本分段存储管理(段表、地址变换、信息共享)
  5. 多方位助您快速精准查阅文献和发文章的利器——X-MOL
  6. 使用matlab工具研究神经网络的简单过程(网络和数据下载)
  7. Python基础-函数,高阶函数
  8. PHP 实例 AJAX 与 MySQL
  9. mysql阻塞 事务_MySQL Innodb如何找出阻塞事务源头SQL
  10. NLP学习—13.Seq2eq在机器翻译中的实战(bleu指标的代码实现)
  11. 区块链 以太坊 智能合约 如何销毁 废弃 selfdestruct
  12. z世代消费力白皮书_谁在影响2.6亿年轻人的消费?Z世代消费力白皮书2019|企鹅智库...
  13. 计算机教育思维,计算机教育中计算思维的培育
  14. 如何成为一个合格的聚合支付代理商
  15. 全国哀悼日,网页变黑白
  16. 阵列卡服务器装linux,Linux网卡阵列卡安装
  17. 网络工程师需要学c语言,网络工程师需要学哪些内容
  18. refresh是什么?Spring refresh的12个步骤
  19. ( )可用来更改计算机系统的设置,2018年职称计算机考试考前冲刺练习及答案(9)...
  20. 用计算机说出人说的话,用计算机语言说一句情话

热门文章

  1. if or函数套用_IF函数和OR函数的套用我想利用IF函数和 – 手机爱问
  2. 【OpenCV 例程200篇】49. 图像增强—局部直方图处理
  3. idea的总部_雷普索尔- YPF总部
  4. c语言检查字符数组不为空,【C语言】检查输入是否为空,如为空,程序退出
  5. python编译2的n次方计算器_用PYTHON2做个计算器,哪位高手能用Python写出计算器的代码,需要加减乘除和退出,谢谢!...
  6. python中变量和函数的区别_python中带下划线的变量和函数的意义
  7. 二叉树---树的深度递归理解
  8. Jmeter BeanShell采样器提取接口响应并传递(三)
  9. 第一个程序 快速编译链接的办法
  10. linux/npm/git的简单操作