大一上学期期末程序设计基础易错知识点总结

sizeof会将空字符0计算在内,而strlen不会将空字符0计算在内; 2、sizeof会计算到字符串最后一个空字符0并结束,而strlen如果遇到第一个空字符0的话就会停止并计算遇到的第一个空字符0前面的长度。

strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)        关键字 sizeof 是一个单目运算符,而不是一个函数。与函数 strlen 不同,它的参数可以是数组、指针、类型、对象、函数等

在程序中使用static

变量

局部变量

普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰符)都属于这个范畴。编译器一般不对普通局部变量进行初始化,也就是说它的值在初始时是不确定的,除非对其显式赋值。

普通局部变量存储于进程栈空间,使用完毕会立即释放。

静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。

4、全局变量

全局变量定义在函数体外部,在全局数据区分配存储空间,且编译器会自动对其初始化。

普通全局变量对整个工程可见,其他文件可以使用extern外部声明后直接使用。也就是说其他文件不能再定义一个与其相同名字的变量了(否则编译器会认为它们是同一个变量)。

静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,两者互不影响。

在定义不需要与其他文件共享的全局变量时,加上static关键字能够有效地降低程序模块之间的耦合,避免不同文件同名变量的冲突,且不会误使用。

函数

函数的使用方式与全局变量类似,在函数的返回类型前加上static,就是静态函数。其特性如下:

静态函数只能在声明它的文件中可见,其他文件不能引用该函数

不同的文件可以使用相同名字的静态函数,互不影响

非静态函数可以在另一个文件中直接引用,甚至不必使用extern声明

5、原码反码补码的在线转化。(整数在数据中的储存方式是补码,所以如果要进行运算的话,那就需要将原码转换为补码再计算)字符型数据在文件中的存储形式是ASCII码

负数的转化流程

正数在内存中的储存情况就是原码,因为正数的原码反码补码都一致。

6、

7、运算符优先级

原型声明:extern char *strcpy(char *dest,char *src);

功能:把src所指由NULL结束的字符串复制到dest所指的数组中。

返回指向dest的指针。

原型:extern char *strcat(char *dest,char *src);

功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

所以按照执行顺序,strcpy(str1,str2),就是将str2复制给str1,并返回str1,而strcat意思是把两个串连起来,strcat(strcpy(str1,str2),str3)说白了就是把str2和str3连接起来

假定int类型变量占用两个字节,若有定义:int x[10]=0,2,4);,则数组x在内存中所占字节数是20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值