去学AC自动机,发现网上巨佬们都用指针写的。
蒟蒻看不懂只好先去学了指针。
下面 5 4 个代码是对指针的简单阐述(望大佬勿喷)
另:不定期更新(~ ̄▽ ̄)~
指针的学习1:声明与调用:
#include#include #include using namespace std;int main(){ int *p;//声明int型指针变量p int a=5;//定义变量a初始值为5 printf("%d\n",a); p=&a;//指针p指向a的地址 *p=10;//将p指向的地址对应的值修改为10 printf("%d\n",a); return 0;}
指针的学习2:二级指针
#include#include #include using namespace std;int main(){ int a=5;//定义变量a初始值为5 int *p;//声明一级指针变量p int **q;//声明二级指针变量q p=&a;//p指向a的地址 q=&p;//q指向p的地址 **q=1;//二级指针间接指向变量a,直接修改 cout< <
指针的学习3:指针的运用(函数的多个返回值)
#include#include #include int Sum_Minus(int n1,int n2,int *n3){ *n3=n1-n2;//指针n3指向的变量记录差 return n1+n2;//函数本身返回值为和 }int main(){ int a=3;//定义变量a初始值为3 int b=2;//定义变量b初始值为2 int s;//定义变量记录和 int m;//记录差 s=Sum_Minus(a,b,&m);//指针n3指向m的地址 printf("sum=%d,minus=%d\n",s,m); return 0; }
指针的学习4:丧心病狂的高级指针
#include#include #include using namespace std;int main(){ int a=1; int *p1=&a; int **p2=&p1; int ***p3=&p2; int ****p4=&p3; int *****p5=&p4; int ******p6=&p5; int *******p7=&p6; int ********p8=&p7; ********p8=520; cout< <
指针的学习5:结构体中指针的调用
#include#include #include using namespace std;struct node{ int u,v,w;}a={1,2,3},*p;int main(){ p=&a; p->u=520;//其实按zzyy大神所说, //结构体指针中的“->”就相当于普通结构体中的“.” cout< <
指针的学习6:指针直接申请空间
#include#include #include #include using namespace std;int main(){ int *a=new int();//指针直接申请空间的操作 *a=1;//引用指针改变地址中所存的变量 cout<<*a<
Thanks♪(・ω・)ノ