| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 407 人关注过本帖
标题:初学者关于指针与数组中指针变量的问题
只看楼主 加入收藏
s2amor
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-11-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
初学者关于指针与数组中指针变量的问题
#include <stdio.h>
#include <stdlib.h>


int main(void)
{
    int a[5], *p = a, i;    /*此处对p进行了初始化*/
    for (i = 0; i < 5; i++)
    {
        *p = i;             /*这里就是使用指针来给数组a进行赋值吗?比如p指针开始指向a[0],p+1之后指向a[1],,以此类推,到循环执行结束指针p指向数组a的最后一个元素,但是数组a尚未有值,只是将指针与数组a的对应关系明确了,对吗?*/
        p++;
    }
    p = a;                  /*这里的不是在最上面就初始化过了吗,为什么在这里还要对其赋值呢?我试着将其删掉,但是显示的是一些奇怪的数,这是为什么呢?*/
    for (i = 0; i < 5; i++, p++)
    printf("%d\n", *p);
    return 0;
}
搜索更多相关主题的帖子: include 元素 
2014-11-25 15:07
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
p = a;                  /*这里的不是在最上面就初始化过了吗,为什么在这里还要对其赋值呢?我试着将其删掉,但是显示的是一些奇怪的数,这是为什么呢?*/

-------------->这不是初始化  这是赋初始值  另p指向数组a的首元素

DO IT YOURSELF !
2014-11-25 15:09
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
*p = i;             /*这里就是使用指针来给数组a进行赋值吗?比如p指针开始指向a[0],p+1之后指向a[1],,以此类推,到循环执行结束指针p指向数组a的最后一个元素,但是数组a尚未有值,只是将指针与数组a的对应关系明确了,对吗?*/

这里的p就是数组a 的身外化身 操作p就相当于操作a

DO IT YOURSELF !
2014-11-25 15:10
s2amor
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-11-25
收藏
得分:0 
回复 2 楼 wp231957
int a[4],*p = a;
那这么说是对的吗:上面这个语句表明指针p指向数组a的首地址,p+1指向a[1]的地址,用数组名也可以这样表示:a+1也是a[1]的地址。p+1和a+1和&a[1]都是等价的,都是代表a[1]的地址。
2014-11-25 15:41
chen5656de
Rank: 2
等 级:论坛游民
帖 子:21
专家分:62
注 册:2014-4-14
收藏
得分:7 
int a[5], *p = a, i;    /*此处对p进行了初始化*/
这里不用赋值,这里相当于让a[0]=a;a是一个变量,里面放的是数组元素a[0]开始的地址
你在后面用了*p = i;所以前面的赋值也没用,又重新给*p赋值了
2014-11-25 15:50
yahwei
Rank: 7Rank: 7Rank: 7
来 自:湖~
等 级:黑侠
威 望:3
帖 子:145
专家分:644
注 册:2011-11-10
收藏
得分:7 
这是指针的基础知识,自己仔细看书才可以解决。相信还没人可以用短短的几句话就把指针讲得明明白白……

[qq]949654600[/qq]
2014-11-26 17:30
快速回复:初学者关于指针与数组中指针变量的问题
数据加载中...
 
   



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

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