常见的指针定义

各种指针的定义:

1,一个整形数: int a;

2,一个指向整形数的指针: int *a;

3,一个指向指针的指针,它指向的指针指向一个整形数: int**a;

4,一个有10个整形数的数组: int a[10];

5,一个有10个指针的数组,每个指针指向一个整形数: int *a[10];

6,一个指向有10个整形数的数组的指针: int (*a)[10];

7,一个指向指针的指针,被指向的指针指向一个有10个整形数的数组: int (**a)[10];

8,一个指向数组的指针,该数组有10个整形指针: int *(*a)[10];

9,一个指向函数的指针,该函数有一个整形参数并返回一个整形数: int (*a)(int);

10,一个有10个指针的数组,每个指针指向一个函数,该函数有一个整形参数并返回一个整形数: int (*a[10])(int);

11,一个函数的指针,指向的函数的类型是有两个整形参数并且返回一个函数指针的函数,返回的函数指针指向有一个整形参数且返回整形数的函数: int (*(*a)(int,int))(int);

需要区分的几个有关指针的问题:

1.const指针与指向const的指针

1)const 指针:指针是const,

比如:int * const x;

表示指针不能修改,不能指向其他对象,但是指针所指向的地址的值可以修改;

2) 指向const的指针:指针指向const对象

比如:const int *x;

或:int const *x;

表示指针可以指向其他对象,但指针所指的当前对象的值不可以修改。

 

2.函数指针与函数返回指针

1)函数指针:指向函数的指针

比如:int (*p)(int x, int y);

表示p为一个指针,指向函数的首地址;

2)函数返回指针:函数的返回值为指针类型

比如:int *p(int x, int y);

表示该函数返回值为指针类型。

 

3.数组指针与指针数组

1)数组指针:指向数组的指针

比如:int (*p)[10];

表示一个指针,指向具有10个整形元素的一维数组;

2)指针数组:数组元素为指针的数组

比如:int *p[10];

表示一个一维数组,元素均为整形指针。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值