数组指针 指针数组

数组指针:一个数组的指针;如下,p指向数组a[]的首地址。

int a[5],*p;
p=a;

或者,

int (*p)[5];

 

例子:

#include<iostream>
using namespace std;
int main(void)
{
    int a[5]={1,2,3,4,5};
    int *p;
    p=a;
    for(int i=0;i<5;i++)
        cout<<"a["<<i+1<<"]="<<p[i]<<endl;
    return 0;
}

输出:

 

 

指针数组:是一个数组,数组中的元素是指针类型的数据。也就是说,指针数组中的每个元素都是一个指针变量。例如定义:

int *p[5];

指针数组长用来存储一些长度不同的字符串数据。避免使用二维数组造成空间浪费。如下利用指针数组输出:

#include<iostream>
using namespace std;
int main(void)
{
    char *book[4]={"Math","English","Physics","Chinese"};
    for(int i=0;i<4;i++)
        cout<<"第["<<i+1<<"]个字符串是:"<<book[i]<<endl;
    return 0;
}

输出:

总结:分清 数组指针指针数组。数组指针式指向一个数组的指针,指针数组是一个数组,每个元素都是指针变量。

 

posted @ 2014-12-08 14:30  mt.luo  阅读(174)  评论(0)    收藏  举报