C++编程失乐园

致力于解决论坛的不足,探讨C++的原理

C/C++随笔 之 C++ Sizeof()函数

原文出处:
http://community.csdn.net/Expert/topic/5253/5253878.xml?temp=.5134088
A ====char *p[10];int *a[10];
针对这个问题
首先我给出另一个例子
B ====char (*p)[10];int (*a)[10];
A和B是不一样的
A解释:char *p[10]定义了10个32位的指向char的指针p[0],p[1],p[2]......p[9],
      int *a[10]定义了10个32位的指向int的指针a[0],a[1],a[2]......a[9],
Get:10 * 32 /8 = 40,OK
B解释:char (*p)[10]定义了一个指向10个char的32位指针p
      int (*a)[10]定义了一个指向10个int的32位指针a
Get:32/ 8 = 4, OK
               
Code Example:
void main()
{
 char *p[10];
 int  *a[10];
 char (*p1)[10];
 int  (*a1)[10];
 int x1 = sizeof(p);
 int x2 = sizeof(a);
 int x3 = sizeof(p1);
 int x4 = sizeof(a1);
 cout <<x1<<"\n"<<x2<<"\n"<<x3<<"\n"<<x4<<"\n";
}

posted on 2006-12-25 13:13 木木头 阅读(213) 评论(0)  编辑 收藏 引用 所属分类: C++特性


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(3)

随笔分类(29)

搜索

最新随笔

最新评论