C语言笔记11(指针二)

指针变量作函数参数

函数的参数不仅可以是整型、实型、字符型,还可以是指针型

它的作用是讲一个变量的地址传送到另外一个函数中

 

 

 

 

 

 

 

 

 

 

数组名做函数参数

当用数组名作为参数时,如果形参数组中元素的值发生变化,实参数组元素的值也随之变化

若有一个实参数组,想在函数中改变此数组的元素的值,是参与形参的对应关系有以下4种情况。

行参与实参都用数组名

实参用数组名,形参用指针变量

实参形参均用指针变量

实参为指针变量,形参为数组名

都是地址传递,只是形式不同!

指针做函数参数应注意地问题

指针变量在做实参时,必须有确定的值,即指向一个已定义的单位。

 

 

 

 

返回指针的函数

返回指针的函数定义形式:

类型说明符 *函数名([形式参数表])

{

[说明部分]

 语句

}

说明:表示函数的返回值是一个指针,其他和一般函数相同。

如 int *f(int x, int y)

{......}

指针数组

指针数组:数组中的元素均为指针类型。适合用来指向字符串。

1.定义形式

数据类型 *数组名[常量表达式]

例如:int *pa[6];

[ ]比 ''优先级高,因此pa先与[6]结合,形成pa[6],具有6个元素。然后再与 ' '结合,表示此数组中每一个元素是指针型的。

2.功能

定义一个由6个指针变量构成的指针素组,数组中每个元素都是一个指向一个整数的指针变量。

 

 

 


 

4.指针数组的使用

用指针数组和用数组地址应用数组是等价的

 

 

区别:pa[i]的值可变,而a[i]的值不可变。

指针与字符串数组

字符串数组

数组中的每个元素都是存放字符的数组。

字符串数组的每一行可存放一个字符串。

用赋初值的方式给字符串数组赋值

(1)直接给字符串数组赋初值

 

 

(2)用指针数组处理多个字符串

 

 

 

 

指向数组的指针变量

类型说明符 (*变量名)[正整型常量表达式];

定义一个名为“变量名”的指针变量,这个指针变量所指的对象是一个有“正整型常量表达式”个元素的一维数组(建立一个与二维数组名一样的行指针)

 

 

 

 

二级指针

指向指针的指针:

指向指针数据的至臻变量。通常用于指向字符型指针变量。

说明格式:

类型说明 **指针变量

例如:char **p

定义指针变量p,用于存储领一个指针变量的地址。

posted @ 2024-02-29 23:13  ZDhr  阅读(3)  评论(0编辑  收藏  举报