html的指针变量怎声明,LR静态存储/动态存储/指针变量脚本说明

在一次教程学习中,看到该知识点并记录了下来,希望与大家共同探讨学习。

一、静态存储与动态存储

静态存储变量通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束。动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放。动态存储变量最典型的例子是函教的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配,调用函数完毕立即释放,如果一个函数被多次调用 ,则反复地分配和释放形参变量的存储单元。

从以上分析可知,静态存储变量是一直存在的 ,而动态存储变是则时而存在时而消失。 我们又把这种由于变量存储方式不同而产生的特性称变量的生存期。( 见以下脚本 )

1 Action()

{

int i;

//执行函数auto_static 5次

for (i=0;i<5;i++) {

auto_static();

}

return 0;

}

//静态动态变量测试函数

void auto_static(void)

{

int var_auto=0; //动态变量,每次调用都重新初始化

static int var_static=0; //静态局部变量:只初始化1次

lr_output_message("var_auto=%d,var_static=%d\n",var_auto,var_static); //输出两个变量的值

var_auto++;

var_static++;

}

大家可以想想,两个变量输出的都是什么值:

7067a3c5eec9b10a9a8a5ed18b962b54.gif

50c09ff80483786f14385840fb972cdd.gif

1 Action.c(38): var_auto=0,var_static=0

Action.c(38): var_auto=0,var_static=1

Action.c(38): var_auto=0,var_static=2

Action.c(38): var_auto=0,var_static=3

Action.c(38): var_auto=0,var_static=4

View Code

二、指针

指针是一个存储计算机内存地址的变量。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、 long 和double。

根据出现的位置不同,操作符 * 既可以用来声明一个指针变量,也可以用作指针的取值。当用在声明一个变量时,表示这里声明了一个指针。其它情况用到 * 表示指针的歌值。

& 是地址操作符,用来引用一个内存地址。通过在变量名字前使用&操作符,我们可以得到该变量量的内存地址。(见以下解本)

1 Action()

{

//将var1值赋给变量deref

int *ptr; //生命一个int类型的指针变量

int deref;

int var1 = 35; //定义变量并复制,此时会分配存储单位,有存储地址

int var = 99;

ptr = &var; //ptr指向变量var的内存地址,但不可以把数值赋给指针变量

deref = *ptr; //对指针进行取值,打印存储在指针地址中的内容

lr_output_message("var is %d",deref);

return 0;

}

输出的值为: var is 99

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[LR静态存储/动态存储/指针变量脚本说明]http://www.zyiz.net/tech/detail-97023.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值