数组指针

来源:互联网 发布:金融数据分析导论 pdf 编辑:程序博客网 时间:2024/06/06 08:59
指针运算
运算符
字节运算符:  sizeof()
关系运算符:
条件运算符: "exp1 ? exp2 :exp3"(三目运算符)
逻辑运算符:
逗号运算符:
指针运算符:
下标运算符:   []
算术运算符:
赋值运算符:  =
符合赋值运算符: += -= *= /= %= &= |= ^=  ++ --

int a[10] = {0};
int *p = &a[0];
p++;
*p = 100;


指针进行运算时,要确保指针所指向的内存区域一致
比如 指向不同数组的两个指针,进行运算得到的结果没有意义.


数组指针:
将数组名作为参数传递给函数时,实际上是传递的数组的首地址.


函数的形参可以写成以下形式:
void f(int a[10])
或void f(int a[])
或void f(int *a)


定义的格式:  int (*变量名)[数组列数] 
int  a[10],   *p = a;
int b[10][10], (*p2)[10] = a;


如果要传二级指针:
void f(int (*p)[10]);
void f(int a[10][10]);