ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

c语言基础总结1

2021-07-16 18:33:14  阅读:144  来源: 互联网

标签:总结 语言 常量 作用域 基础 操作符 static 字节 变量


1个字节(byte)=8个比特(bit)

变量:
局部变量: {}中的变量
全局变量: {}外的变量

生命周期:
局部变量:进入作用域生命周期开始,出作用域生命周期结束
全局变量:整个程序的生命周期

常量:
字面常量:
const修饰的常变量:定义不能被改变的变量 (如创建数组时 数组大小需要为一个常量 但使用const不能完成)
#define定义的标识符常量:
枚举常量: 定义枚举常量然后使用

字符串:
由“”引起来的一串字符,字符串的结束标准是\0的转义字符,计算字符串长度(strlen())时\0为结束,不算做字符串内容(不计算在长度内)
而sizeof()计算的是所占空间的大小

转义字符:
在这里插入图片描述

 使用\
 \ddd   1-3个八进制的数字 如\327
 \xdd   2个十六进制的数字 如\x6A

注释:
//和/* */

函数:
使用前要先声明

数组:
一组相同类型的元素的集合

操作符:
算术操作符:+ - * / %
移位操作符:>> <<(本质是移动的是二进制位)
位操作符:& ^ |(按位与、异或、或)
赋值操作符:= += -= *= /= ^= >>= <<=
单目操作符:
!逻辑反操作(只关注真假 0与非0)
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(计算的是变量所占的内存空间 以字节为单位)
~ 对一个数的二级制按位取反(整数在内存中存储的是二进制表示的补码)
– 前置或后置–
++ 前置或后置++
*间接访问操作符(解引用操作符)
(类型)强制类型转换
关系操作符: > >= < <= != ==
逻辑操作符: && 逻辑与 || 逻辑或 (结果为真或假)
条件操作符(三目操作符): exp1 ? exp2 :exp3 (1为真,执行2;1为假,执行3)
逗号表达式:exp1,exp2,exp3,… (从左向右依次计算,但整个表达式的结果是最后一个表达式的结果)
下标引用、函数调用和结构成员:
[] () . ->

常见关键字:
auto(c语言中局部变量就是自动变量 一般省略) break case char const continue default do double else enum extern(使用extern声明一下来自外部的变量、函数 即可使用) float for goto(不建议使用) if int long register(寄存器关键字 可以建议把变量的值放入寄存器中) return short signed(有符号的) sizeof static(静态的) struct switch typedef(类型定义) union(联合体/共用体) unsigned void(空类型) volatile while
static:
用static修饰局部变量,其生命周期变为和整个程序一样长,即在出其作用域时不会被销毁,其作用域并不会改变
用static修饰全局变量,改变了全局变量的作用域,其只能在自己所在的源文件中使用
用static修饰函数,同样改变了其作用域,其只能在自己所在的源文件中使用
static修饰的变量可以被修改,因为只要是变量就可以被修改,而且它会保持最新的值

#define定义常量和宏:
#define MAX 100;//常量
#define ADD(X,Y) ((X)+(Y)) ;//宏

指针:
32位电脑有32根物理电线,可以产生电信号并转换为数字信号,即可以产生512MB的内存地址,一个内存单元大小是一个字节(byte),每个内存单元都有一个编号
创建一个int变量a,要向内存申请4个字节的空间,可以用&(取地址操作符)得到变量a的地址
要存放地址,就要创建一个指针变量,一个地址的大小是4个字节(32位),即指针变量的大小也是4个字节(64位则为8个字节)
即:指针变量就是用来存放地址的
如 int * p=&a;//int表明p指向的是整型 *表明p是指针变量
在指针眼里,什么都是地址
*p=11;// *是解引用操作符 则是给a赋值为11

结构体:
结构体使得c有能力描述复杂类型
. 结构体对象.结构体成员 -> 结构体指针->结构体成员

标签:总结,语言,常量,作用域,基础,操作符,static,字节,变量
来源: https://blog.csdn.net/weixin_47641376/article/details/118814497

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有