【无标题】

c语言的变量?

局部变量、全局变量。

全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放);
而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失,所占据的内存释放。
操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载.局部变量则分配在堆栈里面。

还有一个小考点就是如果没有初始化的情况下,局部变量的值是随机的,而全局变量的值为零。

静态变量、动态变量。

一般情况下就是静态变量会加static关键字,表明这是一个静态变量。动态变量就比如说int a这种。下面要说一下四个关键的知识点:

(1) 动态全局变量:
作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量。跨文件的全局变量一般都会加一个extern。
生命周期为从程序运行到程序退出,即贯穿整个运行时间。
无显式初始化时默认初始化值为0。
(2 )静态全局变量:
作用域为当前文件,从定义/声明位置到文件结尾。
生命周期为从程序运行到程序退出,即贯穿整个运行时间。
无显式初始化时默认初始化值为0。

(3) 动态局部变量:
作用域为当前函数,从定义位置,到其所在的{}的结束位置。
生命周期为从函数调用到函数退出。
无显式初始化时默认初始化值为随机值。
(4) 静态局部变量:
作用域为当前函数,从定义位置,到其所在的{}的结束位置。
生命周期为从程序运行到程序退出,即贯穿整个运行时间,当下次函数调用时,静态局部变量不会被再次初始化,而是沿用上次函数退出时的值。
无显式初始化时默认初始化值为0。

c语言的指针?

指针是一种内存地址,而指针变量是一种表示内存地址的变量。我们如果要想使用这个地址里面所存的数据,那么我们可以加入来实现,这个我查到了叫做间接寻址运算符。还有就是以下几个知识点要清楚,指针常量、常量指针、指针数组、数组指针。

指针常量的本质是一个常量,并且使用指针来修饰它,那么说明这个常量的值应该是一个指针,其格式应为:int * const p。

常量指针本质是指针,常量修饰它,表示这个指针是一个指向常量的指针(变量)。指针指向的对象是常量,那么这个对象不能被更改。

指针数组在本质上是一个数组,只不过我们的数组里面全部存的都是指针变量。

数组指针本质上一个指针,它是指向数组首地址的一个指针。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值