zoukankan      html  css  js  c++  java
  • 指针学习笔记

    去学AC自动机,发现网上巨佬们都用指针写的。

    蒟蒻看不懂只好先去学了指针。

    下面   5  4 个代码是对指针的简单阐述(望大佬勿喷)

    另:不定期更新(~ ̄▽ ̄)~

    指针的学习1:声明与调用:

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    int main()
    {
    	int *p;//声明int型指针变量p 
    	int a=5;//定义变量a初始值为5 
    	printf("%d
    ",a);
    	p=&a;//指针p指向a的地址 
    	*p=10;//将p指向的地址对应的值修改为10 
    	printf("%d
    ",a);
    	return 0;
    }
    

    指针的学习2:二级指针

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    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<<a<<endl;
    	return 0;
    }
    

    指针的学习3:指针的运用(函数的多个返回值)

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    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
    ",s,m);
       return 0; 
    }
    

    指针的学习4:丧心病狂的高级指针

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    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<<a<<endl;
    	return 0;
    }
    

    指针的学习5:结构体中指针的调用

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    struct node{
    	int u,v,w;
    }a={1,2,3},*p;
    int main()
    {
    	p=&a;
    	p->u=520;//其实按zzyy大神所说,
    	//结构体指针中的“->”就相当于普通结构体中的“.” 
    	cout<<a.u<<endl;
    	return 0;
    }
    

    指针的学习6:指针直接申请空间

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<cmath>
    using namespace std;
    int main()
    {
    	int *a=new int();//指针直接申请空间的操作 
    	*a=1;//引用指针改变地址中所存的变量 
    	cout<<*a<<endl;//同上 
    }
    

    Thanks♪(・ω・)ノ

  • 相关阅读:
    黑马程序员——【Java基础】——Java IO流
    黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API
    黑马程序员——【Java基础】——集合框架
    nodeJs与elementUI实现上图片
    NodeJS连接mysql数据库
    nodeJs实现跨域
    将Express生成器下的pug修改为html
    git使用总结
    使用vue+elementUI组件实现表格自动完成
    nginx配置thinkphp5
  • 原文地址:https://www.cnblogs.com/xingmi-weiyouni/p/11020769.html
Copyright © 2011-2022 走看看