zoukankan      html  css  js  c++  java
  • 数组与指针

    一个变量有地址,一个数组包含若干个元素,每个数组元素都在内存中占用储存单元,它们都有相应的地址。

    指针变量既可以指向变量,也可以指向数组元素(把某一元素的地址放在一个指针变量中)。

    所谓数组元素的指针就是数组元素的地址。

    定义一个指向数组元素的指针变量的方法,与指向变量的指针变量相同。

    例:int a[10];

      int *p;

      p=&a[0];

    注:若数组为int型,则指针变量的基类型也为int型。

    引用一个数组元素,可以用:

    (1)下标法,如a[i]形式;

    (2)指针法,如*(a+i)或*(p+i)。

    基中的a是数组名,p是指向数组元素的指针变量,其初值p=a等价于p=&a[0]。

    注:数组名即编译为数组的第一个元素的地址。

    例:输出数组中的全部元素。

    假设一个a数组,整型,有10个元素,要输出个元素的值有三种方法。

    (1)下标法。

    (2)通过数组名计算数组元素地址,找出元素的值。

    (3)用指针变量指向数组元素。

    下标法:

    #include <stdafx.h>
    #include<stdio.h>
    
    void main()
    {
        int a[10],i;
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        }
        printf("
    ");
        for(i=0;i<10;i++)
        {
            printf("%d",a[i]);
        }
    }

    指针法:

    #include <stdafx.h>
    #include<stdio.h>
    
    void main()
    {
        int a[10],i;
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        }
        printf("
    ");
        for(i=0;i<10;i++)
        {
            printf("%d",*(a+i));
        }
    }

    指针变量法:

    #include <stdafx.h>
    #include<stdio.h>
    
    void main()
    {
        int a[10],i,*p;
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        }
        p=a;
        printf("
    ");
        for(i=0;i<10;i++)
        {
            printf("%d",*p);
            p++;
        }
    }

    思考:

    #include <stdafx.h>
    #include<stdio.h>
    
    void main()
    {
        int a[10],i,*p;
            p=a;
        for(i=0;i<10;i++)
        {
            scanf("%d",&p++);
        }
        printf("
    ");
        for(i=0;i<10;i++,p++)
        {
            printf("%d",*p);
        }
    }

    错误原因:&后必须接函数指示符

    纠正:第十行改为        scanf("%d",&p+i);

  • 相关阅读:
    苹果的HomeKit协议
    广州出游计划
    Qt学习博客推荐
    Log4Qt使用(三)在DailyRollingFileAppender类中增加属性mMaxBackupIndex
    QT中关于窗口全屏显示与退出全屏的实现
    键盘事件-----按下回车键则触发事件
    窗体显示/编码设置/开机启动/文件选择与复制/对话框等
    设置系统日期时间
    输入内容, 列出可选的项: QComboBox
    如何根据安装时缺失的文件查找对应的包
  • 原文地址:https://www.cnblogs.com/lvfengkun/p/10354205.html
Copyright © 2011-2022 走看看