C语言学习笔记

原创 2016年08月31日 07:19:27


安全的注释方法

#if 0

statements

#endif

好处:常规注释是代码在程序中不起作用,但并不能真正从源文件中删除。如果这段代码内部原先就有注释存在,这样做就会出问题。

函数声明

int read_colum_numbers( int columns[], int max );

注释:int表示函数返回值的类型是整型,read_colum_numbers表示函数名字,括号内是函数期望接受的参数——整型数组和整型标量。

main函数

int main( void )

{}

注释:关键字int表示函数返回一个整型值,void表示不接受任何参数。

局部变量

int   n_columns;//进行处理的列标号

int   columns[MAX_COLS];//需要处理的列数

char  input[MAX_INPUT];

char  output[MAX_INPUT];

注释:作为main内部的变量,其他函数不能根据它们的名字访问它们。它们可以作为参数传递给其他函数。

调用函数

n_columns = read_colum_numbers( columns, MAX_COLS );

注释:在c语言中,数组参数是以引用(reference)形式进行传递的,也就是传址调用,而变量和常量则是按值(value)传递的。在函数中对变量的任何修改都会在函数返回时丢失,因此,被调函数无法修改调用函数以传值形式传递给它的参数。然而,当被调函数修改数组参数的其中一个元素是,调用函数所传递的数组就会被实际地修改。

  1. 把声明(如函数原型的声明)放在头文件中,并在需要时用#include指令把它们包含于源文件中,这样做法的好处?

    答:声明只需要编写一次,这样以后维护和修改它时会更容易。同样,声明只编写一次消除了在多份拷贝中出现写法不一致的机会。

    -----------------------------------------------------------P34  8.29--------------------------------------------------------

    总结:

  1. 一个C程序的源代码保存在一个或多个源文件中,但一个函数只能完整地出现在同一个源文件中。

  2. 程序必须载入到内存中才能执行。在宿主式环境中,这个任务有操作系统完成。在自由式环境中,程序常常永久存储与ROM中。

     

    枚举类型

    enum <枚举类型名> {<枚举表>}

    枚举常量是枚举类型中的值,即枚举值。枚举类型是一种用户定义的类型,只有用户在程序中定义后它才能被使用。用户通常利用枚举类型定义程序中需要使用的一组相关的符号常量。

  1. enum color {redyellowblue}//定义了一个枚举类型color,用来表示颜色,它包含三个枚举值:redyellowblue,分别代表红色、黄色和蓝色。

  2. enum day {SunMonTuesWedThurFriSat}

    由于各枚举值常量的值是一个整数,所以可把它同一般整数一样看待,参与整数的各种运算。又由于它本身是一个符号常量,所以当作为输出数据项时,输出的是它的整数值,而不是它的标识符。

    符号名被当作整型常量处理,声明为枚举类型的变量实际上是整数类型。

    指针

    变量的值存储于计算机的内存中,每个变量都占据一个特定的位置。每个内存位置都由地址唯一确定并引用。

    指针常量(pointer constant

    当一个函数每次被调用时,它的局部变量可能每次分配的内存位置都不相同。

    字符串常量(string literal

    一串以NUL字节结尾的零个或多个字符。通常存储在字符数组中。NUL字节是用于终结字符串的。

    声明简单数组

    数组的下标总是从0开始,最后一个元素的下标是元素的数目减1

    声明指针

    int *b, c, d;        <==>         int *b;

      Int c, d;

    声明的同时初始化

    char *message = Hello world!;

    message声明为一个指向字符的指针,并用字符串常量中第一个字符的地址对该指针进行初始化。

    隐式声明

    如果函数不显式地声明返回值的类型,它就返回整型。

    typedef

    #define d_ptr_t0_char *

    d_ptr_to_char  a, b;

    正确地声明了a,但是b却被声明为一个字符。在定义更为复杂的类型名字时,如函数指针或指向数组的指针,使用typedef更为合适。

    声明常量

    int       const  a;

    const     int    a;

    a声明为一个整数,它的值不能被修改。

     

    int*pi;//pi是一个普通的指向整型的指针

    intconst*pci;//pci是一个指向整型常量的指针,可以修改指针的值,但不能修改它所指向的值。

    int*constcpi;//cpi是一个指向整型的常量指针,此时指针是常量,它的值无法修改。

    int const*constcpci;//cpci是一个指向整型常量的常量指针,无论是指针本身还是它所指向的值都是常量,不允许修改。

    #define声明常量

    #defineMAX_ELEMENTS50

    intconstmax_elements50;

    注释:

    在这种情况下,用#defineconst变量更好。因为只要允许使用字面值常量的地方都可以使用前者,比如声明数组的长度,如果一个值必须修改,只需要修改声明就可以了,这样便于程序的维护。const变量只能用于允许使用变量的地方。

    -----------------------------------------------------------P57  8.30--------------------------------------------------------

版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言学习入们到精通之学习笔记(一)

为什么我通过博客的形式与大家分享我的学习笔记     对于c语言的学习已经有快3年之久了,对于学习嵌入式的我看来,C是我们的根本也就是我们的核心知识点,想学习好嵌入式就必须精通C语言。在一年之前我对...
  • love131452098
  • love131452098
  • 2016年05月29日 14:39
  • 1354

学习笔记1—C语言的基本语法

1 C语言的程序构成方式   1)c语言程序由函数构成,每个函数可以实现一个或多个功能。 2)一个正规程序可以有多个函数,但是有且只有一个主函数。 3)函数只有在被调用的时候才执行,主函数由系统调用执...
  • ww231147
  • ww231147
  • 2015年11月14日 18:11
  • 3004

C++学习笔记(一) 补充篇 基础语法 — 参考慕课网 值得推荐!

2016年8月23日 前段时间真的是恍然大悟,书看错了,我看的 C++ prime plus看的真心的难受,也不知道这本书到底在写什么。 2016年8月28日 一晃又过了4-5天,真快啊,发现那...
  • David_Han008
  • David_Han008
  • 2016年08月25日 16:47
  • 2913

c语言结构体学习笔记.

  • 2018年01月05日 16:00
  • 500KB
  • 下载

C语言指针学习笔记

  • 2013年08月09日 17:08
  • 24KB
  • 下载

c语言学习笔记(不完全)

  • 2014年06月09日 14:38
  • 69KB
  • 下载

c语言学习笔记

  • 2013年09月10日 13:13
  • 624KB
  • 下载

c语言学习笔记

  • 2015年04月01日 11:39
  • 1.98MB
  • 下载

c语言学习笔记

  • 2015年09月06日 23:36
  • 104KB
  • 下载

c语言学习笔记

  • 2013年09月30日 23:42
  • 15KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)