首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于int * s[]和int (*s)[]的区别,该怎么解决

2012-03-18 
关于int * s[]和int (*s)[]的区别关于int * s[]和int (*s)[]的区别,求大侠给详细的讲解,最好有例子[解决办

关于int * s[]和int (*s)[]的区别
关于int * s[]和int (*s)[]的区别,求大侠给详细的讲解,最好有例子

[解决办法]
我刚开始学的时候也不懂,当时看了一些例子帮助理解,希望能对你有帮助
#include<iostream>
using namespace std;
int main()
{
//指针数组,本身是数组,元素为指针
int line1[]={1,2,3};//定义数组
int line2[]={1,2,4};
int line3[]={1,2,5};

int* pLine[3]={line1,line2,line3};//指针数组,本身是数组,元素为指针
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<pLine[i][j]<<endl;//访问数组中的指针元素
cout<<endl;
}
}
//下面是数组指针,本身是指针,指向一个数组

int b[3]={1,2,3};
int (*p1)=b;//其实p1就是指针,指向一个一维数组
cout<<p1[1]<<endl;

int a[2][3]={{1,2,3},{2,3,4}};
int (*p2)[3]=a;//其实p2就是指针,指向一个二维数组
cout<<p2[1][1]<<endl;

return 0;
}
ps:数组指针,本身的声明要注意。一般不用数组指针,只要理解就行。希望对你有帮助
[解决办法]

C/C++ code
#include <stdio.h>int *s1[3];//s1是由三个int *组成的数组int d1_0,d1_1,d1_2;int (*s2)[3];//s2中保存的是一个指向int[3]类型的指针int d2[3]={4,5,6};int main() {    d1_0=0;s1[0]=&d1_0;    d1_1=1;s1[1]=&d1_1;    d1_2=2;s1[2]=&d1_2;    s2=&d2;    return 0;} 

热点排行