码迷,mamicode.com
首页 > 其他好文 > 详细

数组指针与指针数组

时间:2014-07-12 15:49:25      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   2014   

数组指针与指针数组都是数组的变形,看下面3个表示:

1>    char   a[6]=“123456”;
2>    char * a[6]={“12”,“34”,“56”,“78”,“910”,“1011”};
3>    char(*a)[6];  char str[2][6]={"123456","234567"}; a=str;

1中a是一个数组,是一个包含6个char型元素的数组,a是数组名。

bubuko.com,布布扣

2中a是一个指针数组,首先它是一个数组。数组的元素是char型指针,这些指针指向字符串。

bubuko.com,布布扣

3中a是一个数组指针,首先它是一个指针,a指针指向长度为6的char型数组。

bubuko.com,布布扣

可以这么理解:

1和2对比,相当于把 char 用char * 替换,本来a里面放着的是char,现在放着char*。

1和3对比,相当于把 a换成*a,本来数组名是a,现在变成 *a,也就是一个指针了。

是数组指针还是指针数组,关键看是a被替换了,还是char被替换了。a被替换了就变成指针,数组指针。char被替换了还是数组,只是放指针的数组。

下面是一些代码:

#include<iostream>
using namespace std;
int main(void)
{
    char str[100]="I Love China!";
    cout<<"数组str:"<<str<<endl;

    char* a[3]={"I","Love","China!"};//指针数组,是一个数组,但是数组里面放的是指向char的指针
    cout<<"指针数组a是:";
    for(int i=0;i<3;i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<endl;

    cout<<"数组指针指向的数组是:";
    char (*p)[6];//数组指针,是一个指针,指向长度为6的数组
    char s2[3][6]={"I","Love","china"};
    p=s2;
    for(int i=0;i<3;i++)
    {
        cout<<p[i]<<" ";
    }
    cout<<endl;

    getchar();
}

bubuko.com,布布扣

 

数组指针与指针数组,布布扣,bubuko.com

数组指针与指针数组

标签:style   blog   http   color   os   2014   

原文地址:http://www.cnblogs.com/qianwen/p/3839684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!