【求解】const变量 能不能用memset函数进行清零 *** 作?

【求解】const变量 能不能用memset函数进行清零 *** 作?,第1张

按说是不行的,可下面的代码输出结果是可以的。

//#include "stdafxh"//vc++60加上这一行

#include "stdioh"

#include "stringh"

void main(void){

    const int a[3]={1,2,3};

    printf("%d %d %d\n",a[0],a[1],a[2]);

    memset((void)a,0,12);

    printf("%d %d %d\n",a[0],a[1],a[2]);

}

这说明memset函数不涉及变量,而只对内存 *** 作。无论什么性质的变量,只要找到存放它的内存单元,改变其中的内容是无法抵挡的,除非系统保护的空间。

c语言不能对这个数组赋值,只能通过遍历数组达到给数组中每个元素赋值的目的。初始化的时候可以用int

a[4]={0};这样给整个数组元素赋值为0,若想给已初始化的数组清零,也只能遍历数组。

在调用AVERAGEAdd之后再次进入这个函数后,之前赋值的val->rear被清零了。

不知道你想表达什么意思。这是貌似是一个循环队列。在AVERAGEAdd函数中调用参数指针val,传递的是实际参数的地址,产生的影响随调用结束后保留。AVERAGEAdd实际上是添加下一个节点,并且使最后一个值得rear向下下移一位,即val->rear=(var->rear+1)%val->size。你说的清零大概是指当rear==front时,rear又重新返回到开始处吧。这是循环队列的性质。

还有就是在AVERAGEAdd中你传入的val指针必须分配内存才能赋值其值,否则就是对空指针 *** 作。

选定允许输入数据的单元格,设置单元格格式——保护——取消“锁定”;

选定不允许修改的含公式的单元格,设置单元格格式——保护——勾选“锁定”;

工具——保护——保护工作表,可以设定密码。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12459289.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存