当前位置: 首页 > news >正文

手机网站建设找哪家好seo基本概念

手机网站建设找哪家好,seo基本概念,如何加快百度收录网站,wordpress 修改发布时间Static static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。 static 修饰局部变量 改变局部变量的生命周期,本质上是改变了局部变量的存储位置,让局部变量不再是…

Static

static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。

static 修饰局部变量
改变局部变量的生命周期,本质上是改变了局部变量的存储位置,让局部变量不再是在栈区上开辟空间,而是直接在静态区上开辟空间,从而使得局部变量拥有和全局变量一样的生命周期,即随着整个程序生成和销毁。
在编译环节的编译阶段编译器就会为被 static 修饰的局部变量分配空间,所以C程序在运行的过程中会直接跳过 static 修饰的语句,也就是说,在第二次及以上甚至第一次调用 test 函数时 static int a = 0; 这条语句都不会被执行。

static修饰全局变量
改变了全局变量的外部链接属性(可以在其他源文件内被访问),使其变成内部连接属性(只能在本文件内部被访问),给我们的感觉是全局变量的作用域变小了。

static修饰函数
改变了函数的外部链接属性(可以在其他源文件内被访问),使其变成内部连接属性(只能在本文件内部被访问),给我们的感觉是函数的作用域变小了。

参考:https://blog.csdn.net/m0_62391199/article/details/123517767

Const

const修饰的全局变量为只读,其值不可修改。如果在程序中企图对const修饰的变量进行修改,那么程序就会报错。
const 是 constant 的缩写,是恒定不变的意思,也翻译为常量、常数等。很不幸,正是因为这一点,很多人都认为被 const 修饰的值是常量。这是不精确的,精确的说应该是只读的变量,其值在编译时不能被使用,因为编译器在编译时不知道其存储的内容。
const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点(define 不是关键字)。
const 修饰变量
用 const 修饰的变量被称为常变量,说 const 定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫常变量。其作用是给该变量赋上只读属性,使该变量不可直接被修改。(但是我们仍然可以通过指针的方式来间接修改变量的值,也就是说,const 修饰变量使变量的值不能被修改这一属性并不是绝对的,它只是编译器层次上的保证。)
1、它可以让编译器在编译代码时对于用 const 修饰的变量直接进行语法检查,使我们提前发现对一些不应该被直接修改的变量被直接修改而引起的错误(最大的作用)。
2、让该变量具有自身描述性(相当于告诉其他的程序员不要直接修改该变量)。

const 修饰数组
给该数组赋上只读属性,使该数组中的每个元素都不可直接被修改(只读数组)。(和 const 修饰变量一样)

const 修饰指针
1、const 放在类型名(int*)前:表示指针指向的变量不能直接被修改,指针的指向可以被修改。

const int *p =&a;
int const *p =&a;

const 放在 int 前面和 int 后面都是放在了类型(int*)的前面,所以二者的效果是完全一样的,但是建议将 const 放在 int 前面。

2、const 放在类型名(int*)后面:表示指针的指向不能直接被修改,指针指向的变量可以直接被修改。

int * const p =&a;

当 const 放在类型名后面时,p指向的内容可以直接被修改掉,但是不能直接修改p的指向。
3、const 同时放在类型名(int*)前面和后面:表示指针指向的变量和指针的指向都不能被直接被修改。

const  int * const p =&a;

const 修饰函数
1、const 修饰函数参数:表示在其函数内部不能对该参数直接进行修改。
2、const 修饰返回值:表示该函数返回值不能直接被修改。

参考:https://blog.csdn.net/m0_62391199/article/details/123686916

Volatile

volatile是一个类型修饰符,作用是作为指令关键字,一般都是和const对应,确保本条指令不会被编译器的优化而忽略。

在某些情况下,为了提高效率,CPU会直接将 flag 放在寄存器中,以后CPU每次检测时直接从寄存器中读取 flag 的值,不再从内存中读取,这种情况也被称为 “内存覆盖”。

当存在直接对内存进行操作的动作,例如其他线程修改了内存中flag 的值,因为CPU是直接从寄存器中读取 flag 的值进行 while 循环的逻辑判断的,所以当另一个逻辑将 flag 改为0时,while 循环并不会停止,而是会继续执行其中的代码块,从而造成程序逻辑上的错误。

那么,为了在某些特殊的情况下出现上述的问题,我们应该怎么办呢?我们可以直接在 flag 变量前面加上 volatile 关键字,让CPU不要对 flag 进行优化,每次都继续从内存当中读取 flag 的值。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{volatile int flag = 1;while (flag) {;}return 0;
}

这就是 volatile 关键字修饰变量的作用:让编译器不对被 volatile 修饰的变量进行优化,从而达到稳定访问内存的目的。
注意:虽然 volatile 叫做易变关键字,但这里仅仅是描述它修饰的变量可能会变化,要编译器注意,并不是要求被它修饰的变量必须
变化!这点要特别注意。
参考:https://blog.csdn.net/m0_62391199/article/details/123746218?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167660003416782428674580%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167660003416782428674580&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-123746218-null-null.blog_rank_default&utm_term=Volatile&spm=1018.2226.3001.4450

http://www.tj-hxxt.cn/news/88602.html

相关文章:

  • 白银市建设管理处网站互联网营销外包推广
  • 呼和浩特企业网站排名优化软件开发培训机构去哪个学校
  • 广西学校网站建设专业seo推广
  • 怎么做百度网站网站关键词有哪些
  • 淘客网站怎么做代理如何宣传推广产品
  • 网站外链可以在哪些平台上做外链软文平台有哪些
  • 电子商务网站建设模板代码关键词怎么选择技巧
  • 杭州网站建设公司联系方式餐饮营销引流都有什么方法
  • 建设企业网站就等于开展网络营销吗seo搜索优化
  • 手机端怎么变成电脑端石家庄seo按天扣费
  • 青岛网站开发培训价格百度搜索排名
  • 海阔淘宝客助手wordpress演示站 | 紫色清新商城模板全网营销推广 好做吗
  • 易进网站建设推广网络营销的主要手段
  • 高端网站制作报价发帖推广
  • 技能培训中心网站建设销售找客户最好的app
  • 深一网站建设招聘找培训机构的平台
  • 政府网站安全如何做seo做得比较好的公司
  • 网站超市源码哪个好关键词推广效果分析
  • dedecms导航网站模板如何优化网站
  • 装修网站模板百度广告服务商
  • 做游戏网站有钱赚吗做网站需要多少钱 都包括什么
  • 网站建设厦门企业网站推广方法实验报告
  • 正规做兼职的网站外贸谷歌推广
  • 怎样简单做网站石家庄网站关键词推广
  • 龙岗网站建设要多少钱seoshanghai net
  • 室内设计就业前景如何日照seo公司
  • 无锡网络公司无锡网站设计百度权重查询
  • 信阳做网站 汉狮网络东莞百度推广排名
  • 专业建设购物网站如何制作网站二维码
  • 做网站买别人的服务器企业邮箱申请