类型 普通指针 指针数组(非指针类型) 数组指针 结构体指针 函数指针 二重指针 定义方式 int *p; int *p[5]; int (*p)[5]; int a[3][5]; struct{...int i;..}a, *p int (*p)(int,int); int add(int a,int b) int **p1; int *p2; int *p3[5]; 赋值方式 p=&a; -- p=a; p=&a p=add; p1=&p2; p1=&p3; 解引用 *…
#include<stdio.h> #include<stdlib.h> #include<windows.h> /* 举列子说明什么是函数指针 */ //以一个加减乘除 void Add(int a, int b){ printf("%d + %d = %d \n" , a , b , a+b); } void Sub(int a , int b ) { printf("%d - %d = %d \n", a, b, a - b…
参考出处: http://www.cnblogs.com/mq0036/p/3382732.html http://www.cnblogs.com/hongcha717/archive/2010/10/24/1859780.html 出处中判断哪个是数组指针和指针数组? A int*p1[10] B int(*p2)[10] 首先看看他们的类型,在 VS C++中使用sizeof运算符. printf("%d\n",sizeof(p1)); //结果 40 可以看出是一个数组,每一…
指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定.它是“储存指针的数组”的简称. 数组指针:首先它是一个指针,它指向一个数组.在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.它是“指向数组的指针”的简称. 下面到底哪个是数组指针,哪个是指针数组呢: A) int *p1[10]; B) int (*p2)[10]; 这里需要明白一个符号之间的优先级问题.“[]”的优先级比“*”要高.p1 先与“[]”结合,构成一个数组的定义,数组名为p1,i…
指针相关问题 using namespace std; int main(){ //a) 一个整型数( An integer) int a; //b) 一个指向整型数的指针( A pointer to an integer) int *b; //c) 一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an integer) int **c; //d) 一个有 10 个整型数的数组( An array of 10 integers) ]; /…