| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:问个没搞明白的问题
只看楼主 加入收藏
apiqqz
Rank: 2
等 级:论坛游民
威 望:2
帖 子:56
专家分:25
注 册:2011-9-2
结帖率:75%
收藏
 问题点数:0 回复次数:7 
问个没搞明白的问题
请问 *p[3] ,和(*p)[3] 的区别?越详细越好
2011-09-04 22:03
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
http://wenku.baidu.com/view/8f6c0636f111f18583d05ad3.html

这个文章说的很清楚了。

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-09-04 22:35
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
    {
        char *p[3];
        char c[3][8] =
        {
            "c++",
            "php",
            "java"
        };

        int i = 0;
        for (i = 0; i < 3; i++) {
            p[i] = c[i];
        }
        for (i = 0; i < 3; i++) {
            cout<<p[i]<<endl;
        }
    }

    {
        char (*p)[8] = { 0 };
        char c[3][8] =
        {
            "c++",
            "php",
            "java"
        };

        for (int i = 0; i < 3; i++) {  
            p = &c[i];
            for (int j = 0; j < 8; j ++) {
                cout<<(*p)[j];
            }
            cout<<endl;
        }
    }

通过这两段代码就可以看出数组指针和指针数组的区别了,自己理解去
^_^

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-09-04 22:43
wang155423
Rank: 6Rank: 6
等 级:侠之大者
帖 子:216
专家分:408
注 册:2011-9-4
收藏
得分:0 
*p[3]是指针数组,即是指针变量的集合,这里是3个指针变量。
(*p)[3]定义了一个指针p,p可以指向一个有3个元素的一维数组(行数组)
2011-09-04 22:48
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:0 
*p[3]可这样看 p[3]这是个数组 前面加个*后 就表示 p[3]这个数组的每个单元存的是地址
(*p)[3]可以这么看 p[3]这是个数组 (p)[3]这个还是数组 (*p)[3]这样还是个数组

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2011-09-04 23:15
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
*p[3] ,和(*p)[3]:指针数组和数组指针
*p[3]声明了3个指针,每个指向同样的数据类型,(*p)[3]声明了一个指针,指向3个相同类型的数据组成的数组。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2011-09-05 06:28
cnwppp
Rank: 2
等 级:论坛游民
帖 子:18
专家分:19
注 册:2011-8-4
收藏
得分:0 
*p[3]是指针数组,数组内的内容存放的时指针变量。
(*p)[3]就是表示一个数组,pi就是数组名,如下面一样:
int a[10];
int (*a)[10];

2011-09-05 12:36
快速回复:问个没搞明白的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028150 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved