《C和指针》笔记(第一章)

 

1.1.1      空白和注释

1.在C语言中,用/* */来注释掉一段代码并不是一个好主意,因为它不支持不能重复嵌套,更好的办法是用#if 指令

#if   0

       statements

#endif

 

1.1.2      预处理指令

1.预处理指令是由预处理器解释的.预处理器读入源代码,根据预处理指令对其进行修改,然后把修改过的源代码交给编译器.

 

2.如果你有一些声明需要用于几个不同的源文件,在一个单独的文件中编写这些声明,然后用#include 把这个文件包含到需要使用这些声明的源文件中.这样可以增加代码的可维护性.

 

用#define定义一个名字,这个名字以后出现在源文件的任何地方,就会被替换为定义的值,由于他们被定义为字面常量,所以这些名字不能出现在普通变量可以出现的场合(如赋值符的左边).    可以方便以后的修改.

 

1.1.3      main函数

 

1.每个C程序必须有一个main函数,因为它是程序执行的起点.

2.在C语言中,数组参数是以引用(reference)形式进行传递的,也就是传址调用,而标量和常量则是按值(value)传递的(PS : 在本质上都是值传递)在函数中对标量参数的任何修改都会在函数返回时丢失.

3.在修改一段代码时所遇到的第一个问题就是要搞清楚代码的功能.如果在代码中加入一些东西,能使其他人或自己在以后更容易理解它,那就非常值得这样做.并且,要书写正确的注释.

4.gets函数:一行输入由一串字符组成,以一个换行符结尾.gets函数丢弃换行符,并在末尾存储一个NUL字节.

5.字符串常量(string literal)就是源程序中被双引号括起来的一串字符.

常用printf格式代码

%d         以十进制打印整型值

%o         以八进制打印整型值

%x          以16进制打印整型值

%g         打印一个浮点值

%c          打印一个字符

%s          打印一个字符串

\n           换行

补充:

转义字符


 

标准输出格式字符

 

标准输出修饰符


1.1.4

 

1.由于scanf函数实现的原理,所有标量参数的前面必须加上一个"&"符号,数组参数中如果出现了下表引用,也就是说实际参数是数组的某个特定元素,那么它的前面也必须加上"&"符号.


2.使用所有格式码时,(除了%c之外)时,输入值之前的空白(空格,制表符,换行符等)会被跳过,值后面的空白表示该值的结束.因此,用%s格式吗输入字符串时,中间不能包含空白.


3.对数组下标有效性的检查,必须自行编写代码,C编译器不做检查,否则可能会导致意想不到的结果.

 

4.&&符号如果左边的值为假则不再判断右边的值,一定为假    注意&&和&不要混用,虽然有时候结果相同

 

5.把ch声明为整型可以防止从输入读取的字符以外的被解释为EOF.

 

6.           while(1)

                 ;

1              这种写法可以避免读者误认为接下来的代码是循环体的一部分


1.1.5     

1.当数组名作为实参时,传给函数的实际是一个指向数组其实位置的指针,也就是数组在内存中的地址,正因为如此,才使得数组名作为参数时具备了传址调用的语义.

 

1.2

1在字符串内进行搜索的函数是strchr,在字符串参数内搜索字符参数第一次出现的位置,如果搜索成功就返回指向这个位置的指针,如果搜索失败就返回NULL.

2strstr功能类似,搜索字符串.

 

1.5 警告的总结

 

1误用=操作符而不是==操作符来测试相等性(小技巧:在有常量的测试中,可以把常量放在==的左侧,这样可以让编译器来帮助我们检查一些失误情况).


1.6


1.#include     避免在一个文件中多次声明

2.使用下标前先检查它们的值.确保数组不越界.



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值