黑马程序员 C语言较为常见的注意2

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、

<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

C语言较为常见的注意2

1、返回值不写默认就是int而不是void,void的返回值是return;并且有返回值的可以不用不用写,编译器不会报错,只是警告。

2、如果只有函数的声明,没有实现,则函数会在链接(检测函数,变量等有没有定义)是报错,但编译能通过。

3、一个中文占用3个字节

4、二进制的表示:int a = 0b1010;注意前缀是0b,八进制的前缀:0(%o) 十六进制前缀:0x(%x) 十进制:%d/%i

5、int 分配4个字节,内存存储是从高位到低位存储

6、查看一个类型占用多少个字节,可以用int a = sizeof(类型);

7、逻辑运算符的过程:

符号

|(或)

&(与)

^(异或)

~(取反)

操作

1001

1001

1001

0101

0101

0101

0101

结果

1101

0001

1100

1010

8、左移 a<<n(低位补0)向左移动n位 即:a* 2的n次方(危害:可能将符号位移调)。右移a>>n(高位补0) 向右移动n位 

即:a/ 2的n次方,这样运算效率更高。

9、利用异或实现两个变量的值交换:

1.       a=a^b;    过程       利用了a^a=0,以及异或的交换律

2.       b=a^b;—————>  第2步可写成b=a^b^b=a^0=a

3.       a=a^b;              第3步也就可以变成a=a^b^a=a^a^b=b

10、单引号只能括住一个字节字符,像 ’我’ 是错误的,因为中文占又3个字节

11、char可以作为整数来用,即可以在switch的条件中用它,同时在case中用同值的字符与整数会报错。

12、在对数组赋值时,要想指定的位置赋值可以这样int a[50] = {[2] = 12;[22] =21}还有数组只能在定义的时候初始化,但是此时数

组大小只能通过常量或常量表达式(例如:’A’-34就是一个常量表达式)来声明,如果用变量会报错即:int a[num] = {12,23,4,4}是错误的。

13、怎样求一个数组的长度sizeof(数组名) / sizeof(数据类型),怎样打印数组某个元素a[i]的地址:printf(“%p”,&a[i]),数组在内存是从低到高存储。

14、数组在作为形参时,可以省略大小,如函数void max(data[]){…}这样写是对的,并且它是地址传递,即通过函数可以修改数组元素的值,

数组在做函数参数传递时,会把它做一个指针使用,即data相当于一个指针,指针占8个字节(在64位的处理器的下)

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、

<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值