C语言学习

来源:互联网 发布:ubuntu 16.04安装教程 编辑:程序博客网 时间:2024/05/27 20:17

C语言学习

 

2013/3/26

1、编写strcats, t)函数,功能:将t指向的字符串复制到s指向的字符串的尾部。

编程思路:(1)通过while循环找到字符串s的结束符。

                     2)从找到的结束符开始将t复制到s,同时移动二者的指针。

2、编写函数strend(s, t)。如果字符串t出现在字符串s的尾部,该函数返回1;否则返回0.

   编程思路:(1)找到st的末尾(结束符);

            2)对最后一个字符进行比较,然后向头部移动;

            3)若任意一个字符串到达头部,退出比较,判断两者首部,以及字符串是否为空。

在编写字符串输入输出时,直接运用printf(“%s”,x),scanf(“%s”,&x),就不用循环了。

char* function()属于指针函数,它的返回类型为指针;

char (*function)()是函数指针,即指向函数的指针。

 

2013/4/6

1、C语言中4种基本数据类型:整形,浮点型,指针,聚合类型(数组和结构)。

2、字符常量是用单引号包围起来的单个字符,eg:’M’

3、字符串常量是是用一对双引号包围起来的一串字符,通常存储与字符数组中。字符串常量的直接值是一个指针,因此不能直接赋值给字符数组。

4、使用const声明常量,eg: int  const  a;   or   const  int  a;

涉及指针变量的例子:

int  const   *pci;  一个指向整型常量的指针,可以修改指针值,不可修改它指向的值

int  *const  cpi;   一个指向整型的常量指针,指针是常量,无法修改。

int  const  *const cpci;  无论指针本身还是它指向的值都是常量。

5、链接属性

1internal(内部),属于internal的标识符在同一个源文件内的所有声明中都指同一个实体,,但位于不同源文件的多个声明则属于不同实体,即只能被源文件访问。

2external(外部),该属性的标识符不论声明多少次,位于几个源文件都表示同一实体。即可以被其他源文件访问。

static只对缺省属性为external的声明才有改变链接属性的效果。如果某个声明在缺省属性下为external(函数定义或代码块外部的变量声明),在前面加上static可使它链接属性为internal

3extern一般为标识符指定external链接属性,当它用于标识符2次及以后的声明,它不会更改第一次声明指定的链接属性。如果一个变量声明位于代码块内部,在前面添加 extern将使它引用的是全局变量。

6、存储类型

1)三个地方存储变量:普通内存,运行时堆栈,寄存器。分别对应于静态变量,自动变量和寄存器变量。

2static用法小结:a、当用于函数定义或代码块外部的变量声明时,修改标识符的链接属性,从external改为internal。不改存储类型和作用域。

                                        b、当用于代码块内部变量声明时,修改了变量的存储类型,从自动变量修改为静态变量,链接属性和作用域不受影响。