静态变量,局部变量,strlen,sizeof

float小数点后位数
局部变量存在栈中
静态变量存在静态存储区
静态局部变量:存储在静态存储区,占据着永久性的存储单元。
直到程序运行结束才会释放存储单元。由于并不释放存储单元,
所以下次再进入该函数时,可以继续使用该存储单元的值。
栈是由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。
其操作方式类似于数据结构中的栈。堆是一般由程序员分配释放, 若程序员不释放,
没有被操作系统回收的话,可能会造成内存泄漏 。注意它与数据结构中的堆是两回事。
例如c语言中通过malloc函数开辟的存储空间。

char *p 则p为一地址

static全局变量和普通全局变量有何不同:1、存储方式 并无不同 2、非静态全局变量的作用域是各个源文件,
而静态全局变量的作用域只是本源文件(一个源文件)中。

strlen和sizeof返回值的区别?
eg: char arr[10] = “What?”;
int len_one = strlen(arr);
int len_two = sizeof(arr);
cout << len_one << " and " << len_two << endl
;
输出结果为:5 and 10
点评:sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。strlen只关心存储的数据内容,不关心空间的大小和类型。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值