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

    #include<stdio.h>
    /*
    int main()
    {
        int i = 0;
        int ages[5]={10,9,8,67,56};
        for(i = 0; i<5; i++){
            printf("%d
    ", ages[i]);
        }
        return 0;
    }
    */
    //用指针访问每个数组元素
    int main(){
        int *p;
        int ages[5]={10,9,8,67,56};
        p = &ages[0];//指针指向数组的首元素。//数组名就是数组的地址,也是数组首元素的地址 or p = ages
        // printf("%d
    ", *p);这个时候说明指针指向了第一个元素地址,结果输出p指向元素的空间存储之就是0;
    
        // p+1,这个会跳到下一个元素的地址。
        printf("%p
    ", *p);//&ages[0]
        printf("%p
    ", *p+1);//&ages[1]
        printf("%p
    ", *p+2);//&ages[2]
    
        //取出第三个元素的值
       // printf("%d
    ",*(p+2));
    
       ////////////////////////////////////
       //数组的另外一种表达方式:
       printf("%d
    ",p[2]);//指针可以替代数组,p[2]就等于ages[2].因为前面p=ages[2];
    /*
    数组元素的访问方式:
    1. 数组名【下标】  ages[1]
    2. 指针变量名【下标】   p【1】
    3, *(p+i)
    
    如何判断p+1,地址加上了多少取决于变量类型:
    int main()
    {
    
        double d = 10.9;
        double *dp;
        dp = &d;
        printf("dp = %p
    ", dp);
        printf("dp + 1 = %p
    , dp+1);
    }
    */
       int i ;
       for(i = 0 ; i<5; i++)
        {
           printf("ages[%d]=%d;
    ", i, *(p+i) );
    
       }
    
    
    {
    
        double d = 10.9;
        double *dp;
        dp = &d;
        printf("dp = %p
    ", dp);
        printf("dp + 1 = %p
    ", dp+1);
    
    }
    
        return 0;
    }

    指针和数组密不可分:

    #include <stdio.h>
    void change(int array[]);
    
    int main()
    {
        int ages[5]={
            5,6,7,8,9
        };
        change(ages);
     
        return 0;
    }
    void change(int *array)//只能指向整型。 
    {
        printf("%d
    ", array[2]);//这种写法和下面的一样,指针和数组密不可分 
        printf("%d
    ", *(array+2));//*array只能指向第一个数组元素 
    }
    /* 
    void change(int array[])
    {
        int s = sizeof(array);
        printf("%d
    ", s);
    }
    */

    高级变化:指针里面带入函数,函数再变化。

    #include <stdio.h>
    void change(int array[]);
    
    int main()
    {
        int ages[5]={
            1,2,3,4,5, 
        };
        change(&ages[2]);//第二个元素地址传给指针 
     
        return 0;
    }
    void change(int *array)//只能指向整型。 
    {
        printf("%d
    ", array[2]);//=*(array+2) 
    } 
    //
  • 相关阅读:
    HTML DOM-->内部样式表与外部样式表的读写
    HTML DOM-->行间样式表的读写
    HTML DOM-->获取文本节点
    HTML DOM-->获取属性节点
    HTML DOM-->获取标签(元素)节点
    HTML DOM-->简介
    JS 浏览器BOM-->setTimeout() 方法
    JS 浏览器BOM-->clearInterval() 方法
    JS 浏览器BOM-->setInterval() 方法
    JS 浏览器BOM-->onresize方法
  • 原文地址:https://www.cnblogs.com/xiaomi5320/p/4323769.html
Copyright © 2011-2022 走看看