|
|
发表于 2012-10-22 14:02:59
|
显示全部楼层
#include<iostream.h>
void main()
{
int(*ptr)[3]=new int[2][3],/*动态定义了6*4字节的内存空间*/i,j,n=0;
void function(int);
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
ptr[i][j]=n++;
cout<<"输出数组元素:"<<endl;
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
cout<<ptr[i][j]<<endl;
cout<<"ptr指向的类型大小为:"<<sizeof(*ptr)<<"字节"<<endl;/* (*ptr)[3]之前也有提到过,这里的ptr是指向一维数组的指针(对指针初学者有难度)
上面输出的结果是12字节,因为ptr指向对半的数组,ptr[0][2]=2,事实上我不可以达到与数组名&a相同功能的指针,出这个题的目的是为了让初学者看清楚什么是指针
,但是我试了很多数组指针的办法都不可行。最后还还有一个办法,用结构体或是类*/
delete [] ptr;
struct complex
{
int a;
int b;
int c;
int d;
int e;
int f;
};
complex *com=new complex;
cout<<"com指向的类型大小是:"<<sizeof(*com)<<"字节"<<endl;//输出的结果是24
cout<<"以下是用指针输入和输出结构体内的数据:"<<endl;
int *p;
com->a=11;com->b=22;com->c=33;com->d=44;com->e=55;com->f=66;
p=(int *)com;
for(i=0;i<=5;i++)
cout<<*(p++)<<endl;//输出1,2,3,4,5,6
delete com;
}
以下是输出的结果:
输出数组元素:
0
1
2
3
4
5
ptr指向的类型大小为:12字节
com指向的类型大小为:24字节
输出结构体内的数据:
11
22
33
44
55
66
Press any key to contnue
补充内容 (2012-10-22 14:03):
还想知道更深的东西,要收费了
补充内容 (2012-10-22 14:04):
还想知道更深的东西,那要收费了,嘻嘻 |
|