关于指针:const和一二级指针

42次阅读

共计 663 个字符,预计需要花费 2 分钟才能阅读完成。

一. 一级指针

const int *p; // 润饰 *p
int const *p; // 润饰 *p
int *const p; // 润饰 p
const int *const p; // 第一个润饰 *p,第二个润饰 p

A:// 正确,const int* = int*
int a = 10 ;
const int* p= &a;

B:// 正确 const int* = const int*
const int a=10;
const int* p=&a;

C:// 正确 int* = int*
int a = 10;
int *const p =&a;

D:// 谬误 int* = const int*
int a = 10;
const int *p=&a;
int *q = p;

二. 二级指针

const int **p; // 润饰 **p
int const **p; // 润饰 **p
int  *const *p; // 润饰 *p
int **const p; // 润饰 p
const int *const*p; // 第一个润饰 **p,第二个润饰 *p

A. // 谬误,const int** = int**
int a = 10;
int *p = &a;
const int **q=&p

B.// 正确,int *const* = int**
int a = 10;
int *p=&a;
int *const*q = &p;

C.// 正确,int **= int**
int a = 10;
int *p=&a;
int **const q = &p;

D.// 谬误,int** = int*const*
int a = 10;
int *const p=&a;
int **q = &p;

E.// 谬误,int*const* = const int**
int a = 10;
const int *p=&a;
int *const*q = &p;

正文完
 0