指针类型1.2.3

 

①有确定数据和个数

#include<cstdio>//c++中用的,在这里也可以用 
#include<iostream>//c++库文件。指输入(in)输出(out)流(stream)
using namespace std;//C++语法

int main()
{
    int a[10],i;
     
    for(i=0;i<10;i++)a[i]=2*i;
    for(i=0;i<10;i++) cout<<a[i]<<endl;
    
    return 0;
 } 
  

②不确定数据个数 ,处理数据大量,或个数不明确的时候 需要用到指针

#include<cstdio>//c++中用的,在这里也可以用 
 //处理数据大量,或个数不明确的时候 需要用到指针 
#include<iostream>//c++库文件。指输入(in)输出(out)流(stream)
using namespace std;//C++语法

   
int main()
{
    int *p,n;
    
    scanf("%d",&n);
    p=new int [n];//为存放n个元素申请空间 
    for(i=0;i<n;i++) *(p+i)=2*i;//p+i是指针型 要取其内容带*号 
    //for(i=0;i<n;i++)  p[i]=2*i;//虽然P是指针不是数组,也可以这样写,p[i]即p的地址的偏移量i 
    for(i=0;i<n;i++)  cout<<*(p+i)<<endl;//同样也可以将*(p+i)替换为 p[i]
    
    return 0;
 } 
  

最后也可以将这两个放在一起比对一下

#include<cstdio>//c++中用的,在这里也可以用 
 //处理数据大量,或个数不明确的时候 需要用到指针 
#include<iostream>//c++库文件。指输入(in)输出(out)流(stream)
using namespace std;//C++语法

   
int main()
{
    int a[10],i;
    int *p,n;
    
    for(i=0;i<10;i++)a[i]=2*i;
    for(i=0;i<10;i++) cout<<a[i]<<endl;
    
    scanf("%d",&n);
    p=new int [n];//存放n个元素申请空间 
    for(i=0;i<n;i++) *(p+i)=2*i;//p+i是指针型 要取其内容带*号 
    //for(i=0;i<n;i++)  p[i]=2*i;//也可以这样写,p[i]即p的地址的偏移量i 
    for(i=0;i<n;i++)  cout<<*(p+i)<<endl;//同样也可以将*(p+i)替换为 p[i]
    
    return 0;
 } 
  

 

原文地址:https://www.cnblogs.com/lysun/p/12553483.html