前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言 | 指针数组与多重指针

C语言 | 指针数组与多重指针

原创
作者头像
小林C语言
修改2021-04-27 10:27:32
1.8K0
修改2021-04-27 10:27:32
举报
文章被收录于专栏:C语言入门到精通

C语言什么是指针数组

在C语言中一个数组,若其元素均为指针类型数据,称为指针数组,也就是说,指针数组中的每一个元素都存放一个地址,相当于一个指针变量。

代码语言:javascript
复制
一般形式

类型名 *数组名[数组长度];

//如
int *point[4];

类型中应包括符合*,如int *表示是指向整数数据的指针类型。

由于[ ]比*优先级高,因此point先和[4]结合,形成p[4]形式,这显然是数组形式,表示point数组有4个元素。然后再和point前面的*结合,*表示此数组是指针类型的,每个数组元素都可以指向一个整型变量。

C语言指向指针数据的指针

代码语言:javascript
复制
//定义一个指向指针数据的指针变量:

char **point;

point的前面有两个*号。*运算符的结合性是从右到左,因此**point相当于*(*point),显然*point是指针变量的定义形式 。

C语言指针数组作main函数的参数

main函数的第一行一般写成

代码语言:javascript
复制
int main()
或
int main(void)

括号中是空的或void,表示main函数没有参数,调用main函数时不必给出实参。

在某些情况下,main函数可以有参数,例如:int main(int argc,char *argv[])其中,argc和argv就是main函数的形参,他们是程序的“命令行参数”。

代码语言:javascript
复制
命令行的一般形式

命令名 参数1 参数2……参数n

C语言指向指针的指针

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    int number =100;
    int *p1 = &number;//一级指针
    int **p2 = &p1;//二级指针
    int ***p3 = &p2;//三级指针
    printf("%d\n",number);
    printf("%d\n",*p1);
    printf("%d\n",**p2);
    printf("%d\n",***p3);
    return 0;
}

编译运行结果:

代码语言:javascript
复制
100
100
100
100

--------------------------------
Process exited after 3.526 seconds with return value 0
请按任意键继续. . .

以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~

C语言学习路线    C语言开发工具

VC6.0、Devc++、VS2019使用教程

100道C语言源码案例请去公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档