返回

操作符+关键字

发布时间:2023-02-08 19:37:29 293
# 数据

局部变量与全局变量一起出现时,局部变量优先 “就近原则”

一、操作符


操作符+关键字_操作符

(1).sizeof

操作符+关键字_局部变量_02

(2).~

操作符+关键字_局部变量_03

b有符号,则第一位为符号位,1负0正

原码符号位不变,其他位按位取反得到反码,反码+1变补码

只要是整数,内存中存储的都是二进制的补码

正数——原码,反码,补码 相同

负数——

原码直接按照正负写出的二进制序列

反码—原码的符号位不变,其他位按位取反得到

补码—反码加一



(3).——/++

操作符+关键字_反码_04

int a=10;

int b=a++;(a=11,b=10)

int b=++a;(a=11,b=11)

(4).(类型)

操作符+关键字_局部变量_05

2.关系操作符

操作符+关键字_局部变量_06

3.逻辑操作符

操作符+关键字_反码_07

操作符+关键字_操作符_08

此时c=0

4.条件操作符/三目操作符

操作符+关键字_反码_09

表达式1为真,表达式2执行,表达式2的结果是整个表达式的结果

表达式1为假,表达式3执行,表达式3的结果是整个表达式的结果

操作符+关键字_局部变量_10

5.逗号表达式

exp1,exp2,exp3....expn

6.下标引用,函数调用和结构成员

操作符+关键字_反码_11

操作符+关键字_局部变量_12

二、常见关键字

操作符+关键字_反码_13

1.auto

操作符+关键字_反码_14

2.extern 引入外部符号

3.register 寄存器

自下而上访问速度越来越快,所占空间越来越小

操作符+关键字_反码_15


操作符+关键字_局部变量_16

b

操作符+关键字_反码_17

随着cpu的处理速度越来越块,从内存中读取数据依然不能满足它的处理速度,则转而从寄存器中读取,因此写代码时可以将重要变量存储在register中,此时只是建议编译器存储变量在寄存器中,是否真正存储,需要编译器自主判断

4.signed

int 定义的变量是有符号的 全称为 signed int

unsigned为无符号的

5.struct 结构体关键字

6.union 联合体/共用体

7.typedef 类型定义—类型重定义

操作符+关键字_反码_18

操作符+关键字_反码_19

8.static—静态全局变量

(1)static修饰局部变量

局部变量生命周期延长 

操作符+关键字_操作符_20

(2)static还可修饰全局变量,

变了变量的作用域,让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就没法再使用了

eg.在add.c源文件中定义

int g_val=2023;

在test.c 文件中可以调用

int main()
{
extern int g_val;
return 0;
}

BUT!

若改为

static int g_val=2023

则无法调用

tips

操作符+关键字_操作符_21

 输出的结果是 2 2 2 2 2

因为a是局部变量,因此一出代码块,属于a的内存就被释放,再次回到代码块时,a的值仍为1

(3)static可修饰函数

改变了函数的外部链接属性,具有内部链接性,仍不能处于另一个源文件被调用

函数本身具有外部链接属性

三、#define定义常量和宏

#define MAX(X,Y) (X>Y?X:Y)
int main()
{
int a=10;
int b=20;
max=MAX(a,b);
printf("max=%d\n",max);
return 0;
}

四、指针

1.内存


操作符+关键字_反码_22

每一个内存块对应一个编号,即地址

如果一个空间为一个bit,32位机器最多访问0.5gb

如果一个空间为一个byte,32位机器最多访问0.5*8gb

int main()
{
int a=10;
printf("%p\n",&a);//取地址用%
return 0;
}

p里面存的是a的地址,它的变量类型是 int*

操作符+关键字_反码_23

int a=10;
int *p= &a;
*p=20;//解引用操作符 //通过*p找到a
//含义为把通过*p找到的值改为20
//输出a=20

操作符+关键字_局部变量_24

2.指针变量的大小

32位机器上地址为32位的二进制序列,即32bit=4byte

64位机器上地址为64位的二进制序列,即64bit=8byte

即指针的大小为4个字节/8个字节


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线