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

    1.指针数组:顾名思义,指针数组就是数组里面元素都是指针,代码如下:

    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        // insert code here...
        //printf("Hello, World!
    ");
        int a=1,b=2;//先定义两个变量
        int *p[]={&a,&b};//然后定义数组,数组元素都是指针
        printf("%p
    ",p[0]);
        printf("%p
    ",p[1]);
    
        return 0;
    }
    View Code

    2.数组指针:即指针指向数组中的元素,代码如下:

    #include <stdio.h>
    int main(int argc, const char * argv[]) {
        // insert code here...
        //数组指针
        
        int nums[]={1,2,3,4,5,6};//定义一个数组
        //int *p=&nums[0];
        int *p=nums;//此语句和上面一句话是等价的,默认取数组的首地址,即数组第一个元素的地址
        printf("%d
    ",*p);
        printf("%d
    ",*p+1);//*p+1 可以取到*p对应数组元素的下一个元素
        printf("--------
    ");
        
        for(int i=0;i<sizeof(nums)/sizeof(int);i++)//用数组指针便利这个数组
        {
            printf("%d
    ",*p+i);
        }
        return 0;
    }
    View Code

    3.指针函数:即函数的返回值为指针的函数:

    #include <stdio.h>
    //定义一个函数,返回两个数中较大的地址
    
    int *max(int *pa,int *pb)//定义函数,int *函数名(参数)
    {
        return *pa>*pb ?pa:pb;//返回大数的地址
    }
    
    int main(int argc, const char * argv[]) {
        // insert code here...
        int a=5,b=3;
        printf("a=%p,b=%p
    ",&a,&b);//打印a和b的地址
        int *p=max(&a,&b);//传入参数,分别是a和b的地址
        printf("%p
    ",p);//输出较大数的地址
    }
    View Code
    //  输入小写数字,输出大写星期几
    
    
    #include <stdio.h>
    
    char *getDay(int n)//指针函数
    {
        //定义一个指针数组,用来返回地址
        char *days[]=
        {
            "星期一",
            "星期二",
            "星期三",
            "星期四",
            "星期五",
            "星期六",
            "星期日",
        };
        return days[n-1];//返回地址
    }
    
    int main(int argc, const char * argv[]) {
        // insert code here...
        //printf("Hello, World!
    ");
        
        char *pday=getDay(6);//定义一个指针接收函数的返回值
        printf("%s
    ",pday);//打印出这个指针的内容
        
        return 0;
    }
    View Code

    4.函数指针:指向函数的指针,就是函数指针

    //定义方法:类型 (*函数指针名)(参数)....

     

  • 相关阅读:
    probuf了解
    rebbitmq-RPC(C#)
    获取指定数量的有序列表
    RPC(Remote Procedure Call Protocol)
    正则表达式(c#)
    02_python函数
    01_python基础
    养生茶
    测试左右移浅淡
    python类的组合
  • 原文地址:https://www.cnblogs.com/chenqingxiao/p/4352553.html
Copyright © 2011-2022 走看看