-
2014-08-17
用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题: 1) 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符...
-
2014-08-17
在C语言中,可以用两种方法访问一个字符串。 用字符数组存放一个字符串,然后输出该字符串。 【例10-24】 复制纯文本新窗口 main () { char string []= I love China ! ; printf ( %s \n , string ); }...
-
2014-08-17
本小节以二维数组为例介绍多维数组的指针变量。 多维数组的地址 设有整型二维数组a[3][4]如下: 0 1 2 3 4 5 6 7 8 9 10 11 它的定义为: int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}} 设数组a的首地址...
-
2014-08-17
数组名可以作函数的实参和形参。如: 复制纯文本新窗口 main () { int array [ 10 ]; /* */ /* */ f ( array , 10 ); /* */ /* */ } f ( int arr [], int n ); { /* */ /* */ } main(){ int array[10]; /* */ /* */ f(array,10); /*...
-
2014-08-17
C语言规定:如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。 引入指针变量后,就可以用两种方法来访问数组元素了。 如果p的初值为a[0],则: p+i和a+i就是...
-
2014-08-17
一个变量有一个地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。 所谓数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址...
-
2014-08-17
指针变量可以进行某些运算,但其运算的种类是有限的。它只能进行 赋值运算 和 部分算术运算 及 关系运算 。 指针运算符 指针运算符有两种: 取地址运算符():取地址运算符()是单目...
-
2014-08-17
函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。 【例10-3】题目同【例10-2】,即输入的两个整数按大小顺序...
-
2014-08-17
变量的指针就是变量的地址。存放变量地址的变量是指针变量。 即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称...
-
2014-08-17
在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,...
-
2014-08-17
预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指...
-
2014-08-17
预处理程序提供了条件编译的功能。可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。条件编译有三种形式,下面分别介...
-
2014-08-17
文件包含是C预处理程序的另一个重要功能。 文件包含命令行的一般形式为: #include 文件名 在前面我们已多次用此命令包含过库函数的头文件。例如: 复制纯文本新窗口 #include stdio....
-
2014-08-17
C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。 对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。 带参宏定义的一般形...
-
2014-08-17
在C语言源程序中允许用一个标识符来表示一个字符串,称为宏。 被定义为宏的标识符称为宏名。在编译预处理时,对程序中所有出现的宏名,都用宏定义中的字符串去代换,这称为宏...
-
2014-08-16
动态存储方式与静态动态存储方式 前面已经介绍了,从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。 从另一个角度,从变量值存在的作时间(即生存期)角度...
-
2014-08-16
在讨论函数的形参变量时曾经提到,形参变量只在被调用期间才分配内存单元,调用结束立即释放。这一点表明形参变量只有在函数内才是有效的,离开该函数就不能再使用了。 这种变...
-
2014-08-16
数组可以作为函数的参数使用,进行数据传送。 数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用;另一种是把数组名作为函数的形参和实参使用。 数组元...
-
2014-08-16
一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。 C语言允许函数的递归调用。在递归调用中,主调函数又是被调函数。执行递归函数将反复调用其自身,每...
-
2014-08-16
C语言中不允许作嵌套的函数定义。 因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。这样就出现了函数...
-
2014-08-16
前面已经说过,在程序中是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似。C语言中,函数调用的一般形式为: 函数名(实际参数表); 对无参函数调用时则无实...
-
2014-08-16
形式参数和实际参数 前面已经介绍过,函数的参数分为形参和实参两种。在本节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,...
-
2014-08-16
本节讲解有参函数和无参函数的定义。 无参函数的定义 无参函数定义的一般形式如下: 类型标识符 函数名(){ 声明部分 语句 } 其中类型标识符和函数名称为函数头。类型标识符指明了...
-
2014-08-16
在前面已经介绍过,C源程序是由函数组成的。虽然在前面各章的程序中大都只有一个主函数main(),但实用程序往往由多个函数组成。函数是C源程序的基本模块,通过对函数模块的调用...
-
2014-08-16
C语言提供了丰富的字符串处理函数,大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。 使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数,...