欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一些简单知识的整理—C语言(一)

程序员文章站 2022-04-22 19:41:34
...

一些细节整理
1.有关位运算符(只用于二进制位)
&(按位与):均为1的二进制位按位于之后为1,反之均为0
|(按位或):均为0的二进制位按或于之后为0,反之均为1
^(按位异或):当两个位进行异或之时,如果两个位不同,结果为1,如果两个位相同,结果为0
右移位操作符<< :在右移操作符中,一种是逻辑移位左边移入的位用0填充,一种是算术移位,左边移入的位由原先该值的符号位决定。(0表示正数,1表示负数)
左移位操作符>>:在左移操作符中,最左边的几位2被丢弃,右边多出的几位用0填充。
~按位取反
2.逻辑操作符
&&(逻辑与):多个表达式均为真时,则表达式结果为真,反之
||(逻辑或):多个表达式均为假时,则表达式结果为真,反之
3.写在sizeof内部的表达式不参与运算。sizeof内部单独放一个数组,则表示整个数组,而当作形参时,则表示数组首元素的地址,而地址不论在什么情况下,均表示4个字节。
4.函数调用操作符

int sum=Add(a,b);

有三个操作数,即函数名,a,b
5.结构指针->,结构体变量直接引用用 . 操作符
6.隐式类型转换:即整型提升 正数的原反补相同
一些简单知识的整理—C语言(一)

7 栈空间:临时变量,局部变量,形式参数
堆空间:动态开辟的内存
静态区:静态变量,全局变量
8.break语句的使用
while语句中,表示永久终止循环
for语句中,表示立即退出循环
do…….while语句中,表示永久的终止循环
switch……case语句中,表示调到语句列表的末尾

9.continue语句的使用
while语句中,表示永久终止当前循环
for语句中,表示跳出本次循环,回到调整部分
10.volatile:表示保证内存的可见性,即变量访问时,每次均去内存去取
11.注释的形式

#if  0
代码语句
#endif

12.数据在内存中的存储
一些简单知识的整理—C语言(一)

13 .lib文件表示静态库文件,将代码的实现隐藏起来,表示第三方库,将头文件与源文件分开放置
将静态库文件引入到工程中:即#pragma comment(“lib,静态库文件的名字”)

函数

1.函数分类:IO函数、字符串操作函数、字符操作函数、内存操作函数、时间\日期函数、数学函数、其他库函数
2.实参:常量,变量,表达式,函数等但是一定要能计算出确定的值
形参:当函数调用完成后,则形参被销毁,形参只能是变量
3.在函数调用时,允许嵌套调用
4.函数的链式访问:函数的返回值在另一个函数中被调用
5.函数先声明后使用,声明 int Add(int,int);
6.static:将函数的外部链接属性变为内部链接属性,将变量的生命周期变长,将变量的外部链接属性变为内部链接属性。
注:局部变量是无属性的

数组
1.char*p=“abcdef”
将a的地址放入到p中,但可以通过a找到 后面的abcdef 常量字符串,不可被该改,p表示一个指针变量,在32位平台下表示4个字节

char arr[]=“abcdef”

即直接将abcdef放在arr的内存中
2.数组在内存中是连续存放的
3.二维数组首元素的地址,相当于数组第一行的地址
4.sizeof内单独放一个数组名,则表示整个数组,&arr也表示整个数组的地址
5.整形的地址解引用访问一个整型的大小,字符地址解引用访问一个字符的大小,数组的地址解引用访问整个数组
6.数组地址+1表示跳过整个数组,但还是表示4个字节
7.在二维数组中,sizeof(arr[0]) arr[0]表示一个数组名,即表示一个一维数组,单独放在sizeof内部,即表示整个数组
8.二维数组降级处理,则表示一维数组
9.数组名作为函数参数(形参),表示数组首元素的地址,在32位的平台下,表示4个字节
10.在外部函数需要知道数组的大小时,则在传参的时候,需要将数组大小传过去。
11.传参时 int arr[]=int*arr

相关标签: c语言