21年3月31日C语言概述(五)

1. static >> 静态关键字 (静态变量,就是static修饰的变量)
2. static如何实现只初始化一次的
3. static作用域
4.const

5.boold的假有哪些

6.将亡值

7.在多线程下,static安全吗?

1.  static  >>  静态关键字    (静态变量,就是static修饰的变量)

>>  静态变量只初始化一次,它可以延长生命周期特性)

>>  它在数据区开辟空间         

  函数内的变量,局部变量,开辟在栈区

  函数外的变量,全局变量,开辟在数据区

>>  当静态变量在函数内部的时候,它任然在数据区开辟空间(特性)

>>  我把它理解成这是个异类,它是函数内的不死变量不会随着函数的调用周期而销毁。(理解方式)

2.  static如何实现只初始化一次的

static通过内存位来做记录初始化前标志为0初始化后标志为1

通过检查这个标志实现初始化一次

3.  static作用域

对于静态局部变量,static改变了生存周期,作用域为函数内

对于静态全局变量,static改变了可见性,作用域为本文件内

    所谓改变可见性,是说这个静态全局变量,只在当前的.cpp中可以用。  >>  可理解成私有

4.const

const对变量声明为只读特性,  >>  可读  不可写

记住,没有  可写  不可读  的玩意

5.boold的假有哪些

false  >>  0 (数字0)  >>  ''  >>  NULL (空指针)

上述4个是假,除此之外的都是真

bool可用减一实现震荡    (因为真假在切换)

6.将亡值

将亡值  >>  存储在空间  >>  只能读其值,不能对其赋值 

当调用某个函数,执行完了之后的返回值就存于临时空间,这个返回值就是将亡值。

把这个值一读取,临时空间就消亡了   (读取方式可以是  用该函数的返回值  进行赋值操作)

一个区分  左值和右值  的便捷方法:

看能不能对表达式取地址,若能,则为左值,若不能则为右值。所有的具名变量都是左值,而右值是不具名的。

7.在多线程下,static安全吗?

不安全,具体后期分析。

还有异变关键字

Linux学习笔记
原文地址:https://www.cnblogs.com/zealwang/p/14604057.html