C语言知识点-2

1.定义新函数注意,搞清楚调用新函数时是否需要传东西进来,即有没有参数,搞清楚函数执行完毕后要不要返回一个值给函数调用者,函数不能嵌套


2.求和函数,改变函数内部形参的值并不会影响外面实参的值,基本数据类型作为函数形参,纯粹是值传递 


3.省略返回值类型 test(),默认返回int类型,就算写了返回值类型,也可以不返回,但最好规范一点 


4. 一个汉字占3个字符。 二进制0b  八进制0  十六进制 0x


5.signed unsigned 根本区别是最高位要不要拿来当符号位 unsigned取值范围扩大到2的32次方-1 


6.按位与,与上1就会保持不变,所以可以查看第n位是多少


7.按位异或,两个数不同为1,相同为0,9^9==0  9^6^9==9^9^6,9^0==9,交换两个变量的值,目前有了三种方法 a=a^b,b=a^b,a=a^b

8.计算一个数乘以或除以2的n次方,用位运算左移右移运算符。右移符号位不动,其他位右移,空出的用符号位补齐

9.可以定义数组的同时赋初始化值,否则只能单个赋值,数组遍历用循环函数,数组的全部元素的初始化。如果想在定义数组同时进行初始化,数组元素个数必须是常量或不写,否则若个数为变量,只能单个赋值。打印地址一定要记着写& 

10.数组作为函数参数,传递是整个数组的地址,修改函数形参元素的值,会影响到外面的实参数组,与基本数据类型作为函数形参是不同的。而且数组作为函数参数传递时,会当做指针变量来使用,占8个字节。字符串是用字符数组构成,可以用数组表示。\0的ASCII码值是0

11.strlen函数计算字符串长度,即字符数,不包括\0,从某个地址开始,直到遇到\0为止,声明在string.h中 

12.*p=10,*p代表访问指针变量p指向的存储空间,并把10赋值给指针变量p指向的存储空间,*p写在printf函数,代表访问指针变量p指向的存储空间,并取出它的值。指针变量指谁,*一下*p就代表直接把谁拿过来了,可以认为*p=a=10间接修改a的值,相当于a=10直接修改a的值。利用指针函数可以实现多个返回值,其中一个是通过return,另外的是通过参数,传一个地址给指针变量,间接改变外面的值。指针变量为什么定义类型,就是为了取值和赋值时候,有一个相应的字节数(内存存储细节)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值