美文网首页c/c++
c语音全局变量与静态全局变量和静态局部变量代码区常量const

c语音全局变量与静态全局变量和静态局部变量代码区常量const

作者: 吉凶以情迁 | 来源:发表于2018-10-03 22:22 被阅读2次

1 全局变量可以跨文件使用
2、全局变量可以多次声明,但是定义值只能定义一次。
3、静态全局变量只能限定本文件使用。
4、局部静态变量只能再局部代码块里面才能访问。
5、局部静态变量被多次执行,不会被多次定义,也就是说如果定义在for循环里面,下次循环值还是之前的。
6、const修饰的无法用来定义初始化大小,因为这个是可以通过操作指针修改,所以用#define定义的方可使用。
7、const修饰的字符串用指针修改也是无效的。

相对于java 的比较

全局变量 的声明类似java的 成员变量,,但是作用却不同。

int a=10;

在java中其他文件只能创建此类实例才能访问,语义完全不同。

而静态全局变量却类似java的 静态变量定义,但是作用却不同。

static int a=10;

在java中,只要修饰符为public,其他文件就可以访问,而c不是。

image.png image.png image.png

参数压栈从右边往左边,所以是这样的结果,


image.png

相关文章

  • iOS内存管理

    内存五大区: 代码区:存放我们写的代码 常量区:存储常量字符串和const常量 静态区:存储全局变量和静态变量。在...

  • 9.内存分配

    内存:数据区 + 代码区 + 堆区 + 栈区 数据区:全局变量 静态变量 常量 (包括用const修饰的...

  • c语音全局变量与静态全局变量和静态局部变量代码区常量const

    1 全局变量可以跨文件使用2、全局变量可以多次声明,但是定义值只能定义一次。3、静态全局变量只能限定本文件使用。4...

  • 内存管理

    首先,内存分为:栈区、堆区、全局区/静态区(存放全局变量和static静态变量)、常量区(存放字符串常量)、代码区...

  • 内存四区模型

    全局区 全局区分为:全局变量,静态变量,文字常量区 栈区 堆区 静态局部变量 栈的生长方向

  • [C/C++]C语言中字符串常量存储在哪里

    常量存储总结 局部变量、静态局部变量、全局变量、全局静态变量、字符串常量以及动态申请的内存区 1、局部变量存储在栈...

  • C++内存管理机制

    类型 堆区(动态变量) 栈区(局部变量) 全局区(全局变量、静态变量) 常量区 代码区 动态变量和局部变量的区别是...

  • 十四、程序内存区域

    代码区:存放程序代码和各个函数数据区:存放程序中的全局变量和静态变量,常量栈区: 存放局部变量,形参。堆区:存放动...

  • 来自深夜的总结

    一、静态全局变量和静态局部变量 二、const 总结:const 在p的左边,不能修改指针 p。const 在 *...

  • 变量的略知

    变量:全局变量、静态变量、局部变量、字符串常量、动态分配、静态分配 ---------------------根据...

网友评论

    本文标题:c语音全局变量与静态全局变量和静态局部变量代码区常量const

    本文链接:https://www.haomeiwen.com/subject/zwytaftx.html