数组名作函数实参时,不是把实参数组元素的值传递给形参,二手将实参数组首元素的地址传递给形参。
基类型 * 指针变量名 int *pointer;
调用函数时不会改变实参指针变量的值,但可以改变实参指针变量所指变量的值。
数组下标法 a[3] 数组指针法 int *p=a *(p+3)
函数与指针:
一个函数在编译时被分配给一个入口地址,这个函数入口地址就称为函数的指针 ,可以用一个指针变量指向函数,然后通过该指针变量调用此函数。
int max(int x,int y);
int (*p)(int, int); //函数指针变量
p=max;
m=p(a,b);
指向指针的指针 char *(*p);
指针小结:
int i; 定义整型变量
int * p; p为指向整型数据的指针变量
int a[n]; 定义整型数组a,它有n个元素
int *p[n]; 定义指针数组p,它由n个指向整型数据的指针元素组成
int (*p)[n]; p为指向含n个元素的一维数组的指针变量
int f(); f为带回整型函数值的函数
int *p(); p为带回一个指针的函数,该指针指向一个整型值
int (*p)(); p为指向函数的指针,该函数返回一个整型值
int * * p; p是一个指向指针的指针变量,它指向一个指向整型数据的指针变量
C++提供了指向结构体变量的运算符->,例如 p->num表示指针当前指向的结构体变量中的成员nump p->num 等价于 (*p).num (二叉树的定义)。
new和delete是运算符 不是函数。
共用体 union data{int i;char c;double d;}a,b,c;所占内存等于最长成员的长度。某时刻只能存放一种。
枚举类型 一个变量只有集中可能的值,可定义为枚举类型。enum weekday{sun,mon,tue,wed}
typedef float REAL //指定用REAL代表float类型。
基类型 * 指针变量名 int *pointer;
调用函数时不会改变实参指针变量的值,但可以改变实参指针变量所指变量的值。
数组下标法 a[3] 数组指针法 int *p=a *(p+3)
函数与指针:
一个函数在编译时被分配给一个入口地址,这个函数入口地址就称为函数的指针 ,可以用一个指针变量指向函数,然后通过该指针变量调用此函数。
int max(int x,int y);
int (*p)(int, int); //函数指针变量
p=max;
m=p(a,b);
指向指针的指针 char *(*p);
指针小结:
int i; 定义整型变量
int * p; p为指向整型数据的指针变量
int a[n]; 定义整型数组a,它有n个元素
int *p[n]; 定义指针数组p,它由n个指向整型数据的指针元素组成
int (*p)[n]; p为指向含n个元素的一维数组的指针变量
int f(); f为带回整型函数值的函数
int *p(); p为带回一个指针的函数,该指针指向一个整型值
int (*p)(); p为指向函数的指针,该函数返回一个整型值
int * * p; p是一个指向指针的指针变量,它指向一个指向整型数据的指针变量
C++提供了指向结构体变量的运算符->,例如 p->num表示指针当前指向的结构体变量中的成员nump p->num 等价于 (*p).num (二叉树的定义)。
new和delete是运算符 不是函数。
共用体 union data{int i;char c;double d;}a,b,c;所占内存等于最长成员的长度。某时刻只能存放一种。
枚举类型 一个变量只有集中可能的值,可定义为枚举类型。enum weekday{sun,mon,tue,wed}
typedef float REAL //指定用REAL代表float类型。