当前位置:首页 >> 其它 >>

c语言 数组与指针-指针篇-2011


指 针
6.2 指针的概念 6.3 指针与数组 6.4 字符串的指针

6.5 指针数组和指向指针的指针

6.2 指针的概念
6.2.1 地址与指针的概念 6.2.2 指针的定义与引用

指针的概念
? 指针是变量──存放地址的变量
– 这个地址可以是变量的地址,也可以是复杂

数据类型的地址,如数组,结构体等,也可 以是函数的地址。

? 指针变量存放了哪个变量的地址就称该 指针指向了这个变量。

内存地址
1、变量与地址
内存中每个字节有一个编号-----地址

内存
0

程序中: int i; float k;
编译或函数调用时为其分配内存单元

…...

2000 2001 2002 2003

i k

2005 …...

变量是对程序中数据 存储空间的抽象

2、数组与地址
地址
3000 3001 3002 3003 3004 3005

内存单元 1 2 3

程序中:int a[3]={1,2,3}; 整型数组元素a[0] 整型数组元素a[1] 整型数组元素a[2]

数组与地址对照表 数组名 a 数据类型 整型 长 度 3 首地址 3000

指针与指针变量
指针:一个变量的地址 指针变量:专门存放变量地址的变量叫~
指针 2000 …...

整型变量i

变量的地址

2001 2002
2003 2004 2005

10

变量的内容

变量i_pointer 2000 指针变量

2006 指针变量 变量地址(指针) 指向

变量 变量值

地址存入 指针变量

…...

寻址
? 访问内存单元称为寻址。 ? 直接寻址:通过变量名对内存单元进行存取。 ? 间接寻址:通过指针变量间接存取。

指针变量的定义、初始化和引用
(一)、指针变量的定义和初始化
指针变量的定义和初始化格式
数据类型 *指针变量名1[=初值1],??;

例:指针变量的定义和初始化。 int a; int *p=&a; float f1,f[10],*p1=&f1,*p2=f; int* p; int*p; int * p; int* p, i;

注意指针的指向 编译器不识别没有明 确指向的指针。但使 用这样的指针可能导 致错误。

(二)、指针变量的引用方式
1、直接引用指针变量名 使用格式为:指针变量=表达式。 这个表达式必须是地址型表达式 例如:int i,*p_i, *q; p_i=&i; q=p_i; 需要用到地址时,可以直接引用指针变量名。

例如:int i,j,*p=&i; scanf(“%d,%d”,p,&j);

2、通过指针变量来引用所指向的变量 使用格式为:* 指针变量名。 在程序中“* 指针变量名”代表它所指向的变量。 例如:int i=1,j=2,k,*p=&i; k=*p+j;

(三)、取地址运算符与指针运算符
取地址运算符和指针运算符的运算对象、运算规则、结 合性如表所示。
对象数 名称 运算符 单目 前缀 单目 前缀 取地 址 指针 运算规则 运算对象 取运算对 变量或数 象的地址 组元素 运算结果 结合性 对象的地 址 自右向 左

&
*

取所指向 指针变量、 指针变量 的变量或 变量或数 所指向的 数组元素 组元素的 变量或数 地址 组元素

&和*优先级别
· &、*和自增、自减等单目运算符是同级别的

· 所有单目运算符的结合性均为自右向左

混合使用运算符
例如,设有变量a、指针变量pa,且pa已经指向a。 正确的。相当于“*(&a)”,&a是变量a的地址,*(a地址)代 表变量a。 &* a 错误的。相当于“&(*a) ”,因为a不是指针变量, 所以* a不正确。 *&pa 正确的。相当于“*(&pa)”, &pa是pa的地址,*(pa地址) 代表指针变量pa。 &*pa 正确的。相当于“&(*pa)”,*pa代表变量a,&(变量a)代 表a的地址。 *&a

例:用指针变量按从小到大的顺序输出三个整数。
main() { int a,b,c,*pa=&a,*pb=&b,*pc=&c,*p; scanf(“%d,%d,%d”,pa,pb,pc); if (*pa>*pb) {p=pa;pa=pb;pb=p;} if (*pa>*pc) {p=pa;pa=pc;pc=p;} if (*pb>*pc) {p=pb;pb=pc;pc=p;} printf(“%d<=%d<=%d\n”,*pa,*pb,*pc); }

6.3 指针与数组
6.3.1 指向一维数组的指针 6.3.2 指向多维数组的指针

指向一维数组的指针
int a[10]; int *p; p=&a[0]; //p=a; 这样指针p就指向了一维数组a

指向一维数组的指针变量的使用
1、用指针处理数组元素 处理数组元素的关键是引用数组元素,引用数组元素的

方法与指针指向数组的方式有关: ● 当指针变量指向数组首地址时,引用数组元素的方法如下:
引用“数组元素[0]” * (指针变量+0) 或 * 指针变量 引用“数组元素[i]” * (指针变量+i) 这里的“指针变量+1”代表同数组的下一个元素

● 当指针变量指向下标为i的数组元素时,引用数组元素的方 法如下: 引用“数组元素[i]” * (指针变量+0) 或 * 指针变量 引用“数组元素[i-k]” * (指针变量-k) 引用“数组元素[i+k]” * (指针变量+k) ● 当指针变量指向首地址后,对下标为i的数组元素引用一共 有下列四种方法:

* (指针变量+i)

* (数组名+i)

指针变量[i]

数组名[i]

方法1,2引用数组元素的方法使用了“指针运算符”,称为

“指针法”;方法3,4引用数组元素的方法使用了“下标运算符([])”

称为“下标法”。
注意: 指针变量是存放地址这种数据类型的变量,可以按照变

量的处理方式对其进行运算;而数组名仅仅是一个地址常量,
只能按照常量的方式进行处理。

2、指向一维数组的指针变量的运算 当指针变量已指向数组后,对指针变量可以进行算术和 关系运算。 (1)指针变量和整数的算术运算。 对指针变量进行算术运算的规则如下: 指针变量+整数 “指针变量中的地址+整数*指针变量类型占 用单元数”对应的地址

指针变量-整数 “指针变量中的地址-整数*指针变量类型占 用单元数”对应的地址 ++指针变量 “指针变量中的地址+指针变量类型占用单元 数”对应的地址,此后,指针变量将指向下一 个数组元素。

--指针变量

“指针变量中的地址-指针变量类型占用单元 数”对应的地址,此后,指针变量将指向上一 个数组元素。

指针变量++

“指针变量中的地址”对应的地址(因为是后缀 增1运算符),此后,指针变量将指向下一个 数组元素。 “指针变量中的地址”对应的地址(因为是后缀 减1运算符),此后,指针变量将指向上一个 数组元素。

指针变量--

上述运算规则组成的式子称为表达式,这种表达式的类 型是“地址型”,所以上述规则组成的表达式常称为“地址型表 达式”或“指针型表达式”,简称为“指针表达式”。

例如:设定义了整型数组a[10],整型指针变量pa,且执行了 pa=a。假定数组a的首地址为2000。请看下列的表达式及其 运算结果: 执行pa=pa+5后 pa指向数组元素a[5],pa的地址值将为 2000+5*2=2010,其中的“2”是整型数据 占用的单元数; pa将指向数组元素a[4],pa的地址值将为 2010-1*2=2008。

再执行pa--后

注意:对代表地址常量的数组名不能进行增1减1的算术运算, ++a、a++、--a、a--、a=a+5、a=a-5都是错误的。(其中a为 数组名)

(2)指针变量和指针变量的减法运算 指针变量和指针变量的减法运算规则如下: 指针变量1-指针变量2 要求这两个指针变量必须指向同一个数组,否则不能进行 减法运算。运算 结果为它们所指向的数组元素下标相差的整 数。 例如,定义了数组a和同类型的指针变量p1、p2。其中p1 指向数组元素a[2];p2指向数组元素a[6]。 p1-p2 p2-p1 结果为整数-4 结果为整数4

(3)指针变量的关系运算。 对指针变量进行关系运算对规则如下: 指针变量1 关系运算符 指针变量2 当两个指针变量的值(地址值)满足关系运算时,结果为1(真) 否则结果为0(假)。 例如,定义了数组a和同类型的指针变量p1、p2;使p1指向数

组元素a[2];p2指向数组元素a[3]。下列关系表达式及其运算结果:
p1<p2 p1++==p2 --p2==p1 p1<a p1<&a[9] p2<=a+3 结果为1(真)。 结果为0(假),注意++是后缀。 结果为1(真),注意--是前缀。 结果为0(假),a是地址常量。 结果为1(真), &a[9]是地址常量。 结果为1(真),a+3是地址型表达式, 代表a[3]的地址。

例:输入10个整数存入一维数组,从中查找某个整数(该数从 键盘上读取),查到则输出其是第几个数,查不到则输出“Not Find!”。要求用指针法处理。 程序清单如下:

main() { int a[10],*p=a,x,n,flag=0; for (;p<a+10;p++) scanf(“%d”,p); scanf(“%d”,&x); for (n=1,p=a;p<a+10;p++,n++) if (*p==x) { flag=1;break;} if (!flag) printf(“Not Find!\n”); else printf(“%d\n”,n); }

3、关于使用“指针法”处理一维数组元素的下标越界问题 C语言对用“指针法”引用数组元素时,对下标是否越界也 不作检查,即允许下标越界。 例如,定义了整型数组a[10],并使同类型的指针变量p指向了 数组a的首地址。则下列对a数组的元素引用都是允许的: *(p-1) 代表数组元素a[0]前面2个单元中存放的数据 (看成整数) 代表数组元素a[9]后面2个单元中存放的数据 (看成整数)

*(p+10)

虽然C语言允许处理数组元素时下标可以越界,但在程序 中要尽量避免。当出现下标越界的情况,如果你使用的是数组 元素值,显然这个值不知为何值;如果你是将某个值存入该数 组元素,结果将会破坏对应内存单元中原来的值,使得后面程 序运行时,结果不正确,甚至出现预料不到的问题,而这样的 错误很难查找。

指向二维数组的指针变量的使用
1、指针变量指向二维数组的某个元素 当指针变量指向二维数组的某个元素时,利用指针变量 来处理该数组元素和处理一维数组元素的方法相同。

(1)让指针变量指向二维数组的某个元素的方法。 用初始化方式的格式为:类型 *指针变量=&数组名[下标1][下标2] 用赋值方式的格式为:指针变量=&数组名[下标1][下标2]

(2)二维数组元素的引用方法。 当指针变量已指向二维数组元素后,引用该数组元素的方法 是:* 指针变量

例1:输入2行3列的矩阵元素后,存入二维数组。再按行列 格式输出。 程序如下: main() { int a[2][3],*p; int i,j; for (i=0;i<2;i++) for (j=0;j<3;j++) { p=&a[i][j]; scanf(“%d”,p); } for (i=0;i<2;i++) { printf(“\n”); for (j=0;j<3;j++) { p=&a[i][j]; printf(“%10d”,*p); } }

2、指针变量指向二维数组的首地址

当指针变量指向二维数组的首地址时,也可以处理数组中 的任何一个元素。 (1)让指针变量指向二维数组首地址的方法。
使用初始化或赋值方式都可以使指针变量指向二维数组的 首地址。 使用初始化方式有两种: 类型 * 指针变量=二维数组名[0] 类型 * 指针变量=&二维数组名[0][0] 使用赋值方式有两种: 指针变量=二维数组名[0] 指针变量=&二维数组名[0][0]

(2)二维数组元素的引用方法。
当指针变量已指向二维数组的首地址后,引用该数组 第i行第j列的元素的方法是: *(指针变量+i*列数+j) 例如:已定义了二维数组a[2][3],其2行3列元素在内存中排列 顺序如下:

a[0][0]

a[0][1]

a[0][2]

a[1][0]

a[1][1]

a[1][2]

如果定义指针变量p并且指向数组a的首地址,则这些元素 的地址和引用方法如下: 元素 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 元素地址 p+0*3+0=p p+0*3+1=p+1 p+0*3+2=p+2 p+1*3+0=p+3 p+1*3+1=p+4 p+1*3+2=p+5 元素引用 *(p+0*3+0)=*(p) *(p+0*3+1)=*(p+1) *(p+0*3+2)=*(p+2) *(p+1*3+0)=*(p+3) *(p+1*3+1)=*(p+4) *(p+1*3+2)=*(p+5)

例2:重编例1,要求使用指向二维数组首地址的指针变量处理 二维数组元素。 程序清单如下: main() { int a[2][3],*p=a; int i,j; for (i=0;i<2;i++) for (j=0;j<3;j++) scanf(“%d”,p+i*3+j); for (i=0;i<2;i++) { printf(“\n”); for (j=0;j<3;j++) printf(“%10d”,*(p+i*3+j)); } }

3、指针变量指向二维数组中某个一维数组

(1)让指针变量指向二维数组中某个一维数组的方法。
如果你希望将指针变量指向二维数组中某个一维数组, 首先要按下列格式定义一个指针变量: 类型(* 指针变量)[m] 其中的m是对应二维数组的列长度

然后再用初始化或赋值方式将该指针变量指向二维数组的 首地址

类型(* 指针变量)[m]=二维数组名
指针变量=二维数组名

(初始化)

(赋值)

二维数组中第i行对应的一维数组首地址可以用下列表达 式来获得: * (指针变量+i) 实际上等价于 指针变量[i]

使用这种指针变量,需要注意以下几点: ① 定义这种指针变量时,圆括号不能丢。 ② 定义这种指针变量时,m必须是整型常量表达式,并且其值

要等于希望指向的一维数组的长度。 ③ 定义这种指针变量后,赋初值或赋值时应该赋予列长度为m
的二维数组首地址,然后用表达式方式来获得二维数组中某 个一维数组的首地址。

(2)二维数组元素的引用方法。
当某个指向一维数组的指针变量已指向对应二维数组的首 地址后,就可以用像处理一维数组元素的方式来处理这个二维 数组中已指向的一维数组。具体的格式如下: 数组元素地址 数组元素引用 *(指针变量+行下标)+列下标 *(*(指针变量+行下标)+列下标)

例如语句“int a[2][5],(*p)[5]=a;”定义了二维数组a[2][5]和 指向具有5个元素的一维数组指针变量p,并且使p指向二维数 组a的首地址。则对应二维数组中2个一维数组的首地址如下:

二维数组中的一维数组
a[0] a[1]

用指针变量表示对应一维数组 的首地址
*(p+0) *(p+1)

二维数组元素的引用格式如下: 数组元素 a[0][0] a[0][1] 引用格式 *(*(p+0)+0) *(*(p+0)+1) 数组元素 a[1][0] a[1][1] 引用格式 *(*(p+1)+0) *(*(p+1)+1) 或者 p[0][0] p[0][1] a[0][2] a[1][2] a[0][3] a[1][3] a[0][4] a[1][4]

*(*(p+0)+2) *(*(p+0)+3) *(*(p+0)+4)

*(*(p+1)+2) *(*(p+1)+3) *(*(p+1)+4)

p[0][2]

p[0][3]

p[0][4]

6.4 字符串的指针
字符串有: 常量字符串 例如:“ABC” 变量字符串 例如:char c[]=“abc”;

无论哪一种字符串,都可以用字符型指针变指向它, 以后也可以用字符型指针来处理这个字符串或字符串中 的单个字符。

1、如何将指针变量指向字符串常量
第一种方法是给指针变量初始化的方式,格式为 char * 指针变量=“字符串常量”; 第二种方法是先定义一个字符型指针变量,然后通过赋值 方式,其格式为“指针变量=字符串常量”。

假定要求字符型指针变量p指向字符串常量“abcd”;可以采 用下列两种方式:
方法一 方法二 char *p=“abcd”; char *p=NULL; p=“abcd”;

可以用赋值方式使指针变量指向字符串常量,但是不允 许将字符串常量赋值给字符型数组。例如,下列的程序段是 错误的: char a[10]; a=“abcd”; C语言允许在同一个程序中,使同一个字符型指针变量先 后指向不同的字符串常量,例如下列的程序段是正确的: char *pa=NULL; pa=“12345678”;
● ● ●

pa=“abcd”;

2. 指向存放字符串的字符数组的指针变量的使用
当一个字符型指针变量已指向某个字符串常量,就可以 利用指针变量来处理这个字符串。处理的方式主要有两种: (1)处理整个字符串 输出字符串 printf(“%s”,指针变量); 输入新的字符串代替原字符串 scanf(“%s”,指针变量); (2)处理字符串中的单个字符 第i个字符的表示方法 * (指针变量+i)

6.5 指针数组和指向指针的指针
指针数组:若某个数组被定义为指针类型,则该数组为指针 数组。 指针数组中的每个元素都相当于一个指针型变量,只能存放地 址型数据。 指向指针的指针:若定义的某个指针型变量专门用来存放其它 指针变量的地址,则该指针变量为指针的指针,也叫二级指针。

1、指针数组的定义
需要注意指针数组是指针类型的,对其元素所赋的值必须 是地址值。

[格式] [存储类型] 数据类型 * 指针数组名[长度]={初值}; [功能] 定义指向“数据类型”变量或数组的指针型数组,同时给 指针数组元素赋初值。这些指针变量具有指定的“存储 类型”。 [说明] (1)指针数组名是标识符,前面必须有“*”号。 (2)在一个定义语句中,可以同时定义普通变量、数组、指 针变量、指针数组。可以给某些指针数组赋初值,而另 一些指针数组不赋初值。 (3)定义指针变量时的“数据类型”可以选取任何基本数据类 型,也可以选取其它数据类型。

(4)省略“存储类型”,默认为自动型(auto)。
(5)其中的“初值”与普通数组赋初值的格式相同,每个初值 通常是“&普通变量名”、 “&数组元素”或“数组名”,对应

的普通变量或数组必须在前面已定义。
(6)注意语句中指针型数组的书写格式,不能写成“ (* 数组名)[长度]”,因为这是定义指向含有“长度”这个 元素的一维数组的指针变量。 例如有定义语句“int a,b,c,*p[3]={&a,&b,&c};”

2、指针数组元素的引用
● 引用所指向的普通变量或数组元素 * 指针数组名[下标] ● 对其赋值 指针数组名[下标]=地址表达式 ● 参加运算 (赋值运算) 指针变量=指针数组名[下标] (算术运算) 指针数组名[下标]+整数 指针数组名[下标]-整数 ++指针数组名[下标] --指针数组名[下标] 指针数组名[下标]++ 指针数组名[下标]-- (关系运算)指针数组名[下标] 关系运算符 指针数组名[下标] 其中,算术运算和关系运算一般只使用于该指针数组元素 指向某个数组时。

例5:输入5个字符串存入一个二维数组中,然后定义一个指针 数组,使其元素分别指向这5个字符串并输出。 程序清单如下: main() { char s[5][20],*p[5]; int i; for (i=0;i<5;i++) p[i]=s[i]; for (i=0;i<5;i++) scanf(“%s”,p[i]); for (i=0;i<5;i++) printf(“%s\n”,p[i]); }

3、多级指针的定义和应用
在C语言中,把这种指针型变量称为“指针的指针”,意为 这种变量是指向指针变量的指针变量,也称多级指针。通常使 用的多级指针是二级指针,相对来说,前面介绍的指针变量可 以称为“一级指针变量”。

二级指针变量的定义和赋初值方法如下:
[格式] [存储类型] 数据类型 **指针变量名=[初值],…

[功能] 定义指向“数据类型”指针变量的二级指针变量,同时给 二级指针变量赋初值。

[说明] (1)二级指针变量名的构成原则是标识符,前面必须有“* *”号。 (2)在一个定义语句中,可以同时定义普通变量、数组、指针 变量、指针数组、二级指针变量等。可以给某些二级指针 变量赋初值,而另一些二级指针变量不赋初值。

(3)定义时的“数据类型”可以选任何基本数据类型,也可以选 取以后介绍的其它数据类型。这个数据类型是它将要指向 的指针变量所指向的变量或数组的数据类型。 (4)其中的“初值”必须是某个一级指针变量的地址,通常是“ &一级指针变量名”或“一级指针数组名”,对应的一级指针 变量或数组必须在前面已定义。 例如,有定义语句“int a,b,c,*p1,**p2=&p1;” 二级指针变量还可以通过赋值方式指向某个一级指针变量。 赋值的格式如下: 二级指针变量=&一级指针变量

当某个二级指针变量已指向某个一级指针变量,而这个一级 指针变量已指向某个普通变量,则下列的引用格式都是正确的。

* 二级指针变量 代表所指向的一级指针变量 **二级指针变量 代表所指向的一级指针变量指向的变量 例如,设有定义语句“int a,*p1=&a,**p2=&p1;”,则下列的 引用都是正确的: *p1 代表变量a *p2 代表指针变量p1 **p2 代表变量a

例6:输入5个字符,从中找出最大的字符并输出。要求用字符 数组存放这5个字符,用指针数组元素分别指向这5个字符,再 用一个二级指针变量指向这个指针数组。

程序清单如下: main() { char a[5],*p[5],**q,**max; int i; for (i=0;i<5;i++) p[i]=&a[i]; for (i=0;i<5;i++) scanf(“%c”,p[i]); max=&p[0]; q=++p; for (i=1;i<5;i++,q++) if (**max<**q) max=q; printf(“%c\n”,**max); }

课堂练习—指针应用程序设计例题
例1:输入n(不大于20)个单精度数存入一维数组,用指针变量 处理数组元素的方式将其逆序存放后输出。n从键盘输入。 main() { float a[20],x,*pb,*pe; int n,k,i; scanf(“%d”,&n); pb=a; for (i=0;i<n;i++) scanf(“%f ”,pb++); k=n/2; for (i=0,pb=a,pe=a+n-1;i<k;i++,pb++,pe--) x=*pb,*pb=*pe,*pe=x; for (pb=a;pb<a+n;pb++); printf(“%f ”,*pb); }

例2:求3×5整数矩阵中的最大元素、最小元素、所有元素的 平均值。(要求用指向二维数组首地址的指针变量按二维数组 排列方式处理二维数组元素。) 程序清单如下: main() { int a[3][5],*p=a,max,min,i,j; float ave=0.0; for (i=0;i<3;i++) for (j=0;j<5;j++) scanf(“%d”,p+i*5+j); p=a; max=min=*(p+0*5+0); for (i=0;i<3;i++) for (j=0;j<5;j++) { if (*(p+i*5+j)>max) max=*(p+i*5+j);

if (*(p+i*5+j)<min) min=*(p+i*5+j); ave+=*(p+i*5+j); } printf(“max=%d\n”,max); printf(“min=%d\n”,min); printf(“ave=%f\n”,ave/15.0);

}
例3:输入5个字符串,从中找出最大的字符串并输出。要求用 二维字符数组存放这5个字符串,用指针数组元素分别指向这5 个字符串,用一个二级指针变量指向这个指针数组。

程序清单如下: main() { char a[5][80],*p[5],**q,**max; int i; for (i=0;i<5;i++) p[i]=a[i]; for (i=0;i<5;i++) gets(p[i]); max=&p[0]; q=&p[1]; for (i=1;i<5;i++,q++) if (strcmp(*max,*q)<0 max=q; puts(*max); }


相关文章:
C语言 数组和指针练习题
至 ftp://211.64.82.253/ 用户名密码:stu C语言程序设计练习题——数组 一、选择题 77、以下对一维数组 a 的正确说明是_d ___ A、char a(10); B...
C语言数组与指针
二级C 语言(数组与指针,共 35 页) 一、选择题 (1)有以下程序 main() { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2; ...
c语言编程数组与指针的应用
c语言编程数组与指针的应用_计算机软件及应用_IT/计算机_专业资料。学程序设计时做实验报告可以作为参考实验题目 实验时间 实验成绩 2012-5-2 数组与指针 实验地点...
c语言指针与数组
C语言指针与数组的难点分析... 3页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
浅析C语言中指针与数组
浅析C语言指针与数组_信息与通信_工程科技_专业资料。浅析 C 语言中的指针与数组 指针C 语言中的精华,正确灵活的应用指针,能动态的分配内存,有效的表示复杂...
C语言数组参数与指针参数
C语言数组参数与指针参数_IT/计算机_专业资料。C 语言数组参数与指针参数我们都知道参数分为形参和实参。形参是指声明或定义函数时的参数,而实参是 在调用函数时主...
C语言指针精选习题和答案
C语言指针精选习题答案_计算机软件及应用_IT/计算机_专业资料。编者自己选的 ...然后在主函数中输出 10 个已排好序的字符串 //用指针数组处理 #include<...
c语言实验报告12 指针与数组的关系
课程实验报告 学院: 实验设备:计算机 1 台 班级: 姓名: 学号: 实验日期:2011 年 3 月 1 日 实验项目名称 实验目的 指针与数组的关系 1.掌握指针变量的定义...
c语言编程 一维数组与一级指针
c语言编程 一维数组与一级指针 - 实验五 实验五 一维数组与一级指针 【目的与要求】 目的与要求】 1. 掌握一级指针的定义与使用 2. 掌握一维数组的定义与...
C语言中如何声明一个数组指针
C语言中如何声明一个数组指针_计算机软件及应用_IT/计算机_专业资料。简要介绍可C语言程序设计中数组指针的声明方法。C语言中如何声明一个数组指针通常, 你不需要。...
更多相关标签:
c语言数组指针 | c语言二维数组指针 | c语言数组与指针 | c语言指针数组赋值 | c语言指针数组初始化 | c语言数组和指针 | c语言函数指针数组 | c语言字符串指针数组 |