2、)printf("%d",p[i]);//p[2]=-1;//p[0]==*pp[2]==*(p+2)==*(a+2)==a[2]//p[i]就是主函数的a[i]}intmain(void){inta[5]={1,2,3,4,5};Show_Array(a,5);//a等价于&a[0],&a[0]本身就是int*类型//printf("%d",a[2]);return0;}Point_1#includeintmain(void){int*p;//p是个变量名字,int*表示该
3、p变量只能存储int类型变量的地址inti=10;intj;//p=&i;j=*p;//等价于j=i;printf("i=%d,j=%d,*p=%d",i,j,*p);//p=10;//errorreturn0;}Point2#includeintmain(void){int*p;//p是个变量名字,int*表示该p变量只能存储int类型变量的地址inti=10;intj;p=&i;*p=i;//等价于i=i;//j=*p;//等价于j=i;printf("i=%d,j=%d,*
4、p=%d",i,j,*p);return0;}Point3#includevoidf(int*p)//不是定义了一个名字叫做*p的形参,而是定义了一个形参,该形参名字叫做p,它的类型是int*{*p=100;//}intmain(void){inti=9;f(&i);printf("i=%d",i);return0;}{数据结构6~10笔记}#includeintmain(void){double*p;doublex=66.6;p=&x;//x占8个子节1个
5、字节是8位,1个子节一个地址doublearr[3]={1.1,2.2,3.3};double*q;q=&arr[0];printf("%p",q);//%p实际就是以十六进制输出q=&arr[1];printf("%p",q);return0;}#includevoidf(int*p);intmain(void){inti=10;f(&i);printf("i=%d",i);return0;}voidf(int*p){*p=99;}#includevo
6、idf(int**q);intmain(void){inti=9;int*p=&i;//int*p;p=&i;printf("%p",p);f(&p);printf("%p",p);return0;}voidf(int**q){*q=(int*)0xFFFFFFFF;}Malloc1#include#includeintmain(void){inta[5]={4,10,2,8,6};intlen;printf("请输入你需要分配的数组的长度:len=");
7、scanf("%d",&len);int*pArr=(int*)malloc(sizeof(int)*len);//*pArr=4;//类似于a[0]=4;//pArr[1]=10;//类似于a[1]=10;//printf("%d%d",*pArr,pArr[1]);//我们可以把pArr当做一个普通数组来使用for(inti=0;i8、);//把pArr所代表的动态分配的20个字节的内存释放return0;}Memory1#includeintf();intmain(void){inti=10;i=f();printf("i=%d",i);for(i=0;i<2000;++i)f();return0;}intf(){intj=20;returnj;}Memory2#include#includestructStudent{in