《C和指针》学习

来源:互联网 发布:nginx日志 编辑:程序博客网 时间:2024/05/21 08:43

第一章

1.注释

C语言的注释以/ *开始,以*/结束            注释不能嵌套     第一个/*符号和第一个*/符号间的内容都被看做注释

C语言中,试图在一段代码的首尾分别加上/*和*/符号来“注释掉”这段代码,若这段代码内部原先有注释存在,就会出现问题

从逻辑上删除一段C代码,更好的办法是使用#if指令

#if 0

     statements

#endif

在#if和#endif间的程序可以有效的从程序中去除

2.main函数

int main(void)

{

}

每个程序都必须有一个main函数,是程序执行的起点

关键字int表示函数返回一个整型变量,关键字void表示函数不接受任何参数

C函数的参数传递规则:所有传递给函数的参数都是按值传递的

一个NUL字节指字节模式全0的字节,类似于‘\0’这样的字符常量

C语言约定:字符串就是一串以NUL结尾的字符

NUL做为字符串终止符,本身不被看做字符串的一部分

NULL指值为0的指针(整型值)常用的printf格式代码格式含义%d以十进制形式打印一个在整型值%o以八进制形式打印一个整型值%x以十六进制形式打印一个整型值%g打印一个浮点值%c打印一个字符%s打印一个字符串\n换行

常用scanf格式代码格式含义变量类型%d读取一个整型值int%ld读取一个长整型值long%f读取一个浮点数float%lf读取一个双精度的浮点数dounle%c读取一个字符charscanf函数从标准输入读取字符,并根据格式字符串对它们进行行转换。所有标量参数前必须加上“&”符号

3.函数

<1>strncpy函数把选中的字符从输入行复制到输出行中可用的下一个位置

strncpy(参数1,参数2,参数3)

参数1为目标字符串地址,参数2为源字符串地址,参数3为指定需要复制的字符数

<2>putchar函数,它与getchar函数相对应,接受一个整型参数,并在标准输出行中打印该字符

<3>strcpy函数,不限制需要复制的字符串常量,strcpy函数接受两个参数,第2个字符串参数将被复制到第1个字符串参数,第1个字符串原有字符将被覆盖

<4>strcat函数接受两个参数,但是把第2个字符串参数添加到第1个字符串参数的末尾

注:strcat函数和strcpy函数的第1个字符串参数不能是字符串常量

<5>strchr函数是在字符串内进行搜索,接受两个参数。第1个参数是字符串,第2个参数是一个字符。这个函数在字符串参数内搜索字符参数第1次出现的位置,搜索成功返回指向该位置的指针,搜索失败返回一个NULL指针

<6>strstr函数第1个参数是字符串,第2个参数也是字符串,搜索第2个字符串在第1个字符串中第一次出现的位置


第二章

1.C代码通常保存在以.c拓展名命名的文件中

2.执行程序代码时,绝大多数机器中,程序将使用一个运行时堆栈,用于存储函数的局部变量和返回地址,同时,也可以使用静态内存,存储于静态内存中的变量在程序的整个执行过程中将一直保留它们的值

3.C语言中的关键字被保留,不能作为标识符使用

第三章

1.可以把字符串常量赋值给一个“指向字符的指针”,后者指向这些字符所存储的地址

不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针

2.作用域

<1>代码块作用域:任何在代码块的开始位置声明的标识符都具有代码块作用域,表示它们可以被这个代码块中的所有语句访问

<2>文件作用域:任何在代码块之外声明的标识符都具有文件作用域,表示这些标识符从它们的声明之处直到源文件结尾处都可以访问

<3>原型作用域;只适用于在函数原型中声明的参数名

<4>函数作用域:只适用于语句标签,语句标签用于goto语句



0 0
原创粉丝点击