【C/C++】指针用法详解

定义与初始化

  • 定义:int *p=&a;
  • 初始化:int *p ; p=&a;

也就是说,定义时使用int p表示定义p为一个指针变量;而使用时,p代表地址,p代表其内容。

char a[ ]和char *a

char a[ ] 内容可变,地址不可变 char *const p,是指针常量
const char *a 内容不可变,地址可变 const char *p,是指针变量
char *a 内容不可变,地址可变

这里“地址”指a的值。

这里“内容不可变”指不可以编辑*a的具体某一个单元。

注意:char const *p=const char *p

多层指针嵌套

char a[ ][ ] ;
a[0]+1=&*(a[0]+1) ;
a+1=&*(a+1)=&a[1] ;
a[i][j]=*(a+i)[j]=*((*(a+i))+j) ;

指针应用

  • 指针作为函数参数
  • 指针作为函数返回值
  • 指向函数的指针(指向函数在内存中的首地址)

表示方法

int *p 定义一个指向整型的指针
int (*p)[6] 定义一个指向数组的指针
int *p[6] 定义一个指针数组
int *p( ) 定义一个返回【指向整型指针】的函数
int (*p)( ) 定义一个指向【返回整型函数】的指针
int (p)( ) 定义一个指向【返回(指向整型指针)函数】的指针

实例

原文地址:https://www.cnblogs.com/fighterkaka22/p/14204140.html