①有确定数据和个数
#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; }