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



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

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