c定义一个整型数组_浙大《C》指针进阶(不含链表)学习笔记

533de8bf07416933269e77abd559a53a.png

11.1指针数组的概念

1.C语言的数组,嘛类型都能装,如果一个数组装的全都是指针,那我们就叫他是指针数组

定义的一般格式: 类型名 *数组名【数组长度】

比如说 char *color[5],这就是一个名叫color的指针数组,里面放了5个指针。

f571c6aaf617bac544297c3fc73d08ac.png

里面的元素,比如color[3]就是一个指针,指向一个字符串,color[3]就是该字符串的首地址,可以用语句

printf

来输出color[i]所指向的字符串。语句

printf

2.指向指针的指针(二级指针)

一般定义为 类型名 **变量名。

int 

78f4482173a04f2e235c995899425e43.png

3.二维数组的指针形式

int 

这样我们可以把二维数组看成是三个一维数组组成(a[i])的一维数组

a为a[0]的地址,a=&a[0];

a+i为a[i]的地址,加为框地址。

而a[0]是a[0][0]的地址,也就是说a[0]=&a[0][0]

hence, a=&&a[0][0];

a为行元素数组的首地址,又被称为是行地址,是二级指针。*a是首行第一个元素的地址,又称为列地址,是一级指针。

具体看下面:

908cc68b43a494c024ac3b219dc6fc77.png

4.指针数组与二级指针

指针数组名也是二级指针,比如说char *color[5],这样,我们color就是一个二级指针,

我们可以撸一串代码

#include

记住,对于一个指针,想表达成字符串,可以用str等字符数组的数组名来表示。

5.指针数组与二维数组

如果要处理多个字符串,通常使用二维字符数组或者指针数组。

char 

上面是二维数组,下面是指针数组。

两个框子就是二维数组,一个框子是指针数组,定义二维字符数组的时候一定要指定列长度。

用指针数组进行操作的例子:

#include

6.动态分配多个字符串

color

7.指针作为函数的返回值

除了整型,字符型,浮点型等基本类型,函数的返回值还可以是指针类型

char 

char *XX就是字符指针

8.指向函数的指针

int (*funptr)(int,int)定义了一个函数指针funptr,它可以指向有两个整型参数且返回值类型为int的函数。

假设函数fun(x,y)已经定义,两个整型参数且返回一个整型量

funptr=fun;

那么fun(3,5)=(*funptr)(3,5)

例题:

#include
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值