C语言实验报告范文
C语言实验报告范文本文简介:计算机科学与技术系C语言实验报告实验名称:指针及其应用日期:得分:指导老师:专业:班次:姓名:学号:实验目的(1)掌握变量的指针及其基本用法。(2)掌握一维数组的指针及其基本用法。(3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。一.实验内容(1)运行以下程序,并从中了解变量的指针和指针变
C语言实验报告范文本文内容:
计算机科学与技术系C语言实验报告
实验名称:指针及其应用
日期:
得分:
指导老师:
专业:
班次:
姓名:
学号:
实验目的
(1)
掌握变量的指针及其基本用法。
(2)
掌握一维数组的指针及其基本用法。
(3)
掌握指针变量作为函数的参数时,参数的传递过程及其用法。
一.
实验内容
(1)
运行以下程序,并从中了解变量的指针和指针变量的概念。
(2)
运行以下程序,观察
如定义一个指向int型变量的指针——
intp;
则我们可以继续写如下代码——
int
a
=
4;
p
=
printf(“%d“,*p);
在这里,我们定义了一个变量a,我们把它理解为内存空间连续的4个字节(int型占用4字节),则这4个字节的空间保存着一个数4。
ptr=str;
ptr被置为数组str的第一个元素的地址,因为数组名就是该数组的首地址,也是数组第一个元素的地址。此时可以认为指针ptr就是数组str(反之不成立),这样原来对数组的处理都可以用指针来实现。如对数组元素的访问,既可以用下标变量访问,也可以用指针访问。
2.指向数组元素的指针
若有如下定义:
int
a[10],*pa;
pa=a;
则p=
int
*p;
p=a;
p是指向整型变量的指针;p=a使p指向整型二维数组a的首地址。
*(*(p+1)+2)表示取a[1][2]的内容;*p表示取a[0][1]的内容,因为p是指向整型变量的指针;p++表示p的内容加1,即p中存放的地址增加一个整型量的字节数2,从而使p指向下一个整型量a[0][1]。
2
指向由j个整数组成的一维数组的指针变量
当指针变量p不是指向整型变量,而是指向一个包含j个元素的一维数组。如果p=a[0],则p++不是指向a[0][1],而是指向a[1]。这时p的增值以一维数组的长度为单位。
5.指针与字符数组
C语言中许多字符串操作都是由指向字符数组的指针及指针的运算来实现的。因为对于字符串来说,一般都是严格的顺序存取方式,使用指针可以打破这种存取方式,更为灵活地处理字符串。
另外由于字符串以′\0′作为结束符,而′\0′的ASCII码是0,它正好是C语言的逻辑假值,所以可以直接用它作为判断字符串结束的条件,而不需要用字符串的长度来判断。C语言中类似的字符串处理函数都是用指针来完成,使程序运行速度更快、效率更高,而且更易于理解。