#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
int a[]={1,2,3};
int *p=a;
int **p1=&p;
// printf("%d\n",*(*p1+1));
int **w;
w=&p;
// printf("%d\n",*(*w+2));
int **z=malloc(20);
z[0]=&(p[0]); //地址指针是连续的,下面的两句可以不写,写了也没用
z[1]=&(p[2]);
z[2]=&(p[1]);
printf("%d\n",*(*z+2)); //3
free(z);
int **h=malloc(20); //h存储的地址必须是连续的
int i1=11;
int i2=2;
int i3=3;
h[0]=&i1;
h[1]=&i2; //错误 &i1与&i2地址不连续
h[2]=&i3; //错误
// printf("%d\n",*(*h+1));
free(h);
int *f[20]; //存储20个指针
f[0]=&i1;
f[1]=&i2; //错误 &i1与&i2地址不连续
f[2]=&i3;
// printf("%d\n",*(*f+1));
return 0;
}
理一下思路:哈希表就是python中的字典,健值对。
比如对一个整数数组判断每一元素,如是采用循环就是遍历。