zoukankan      html  css  js  c++  java
  • 指针的各式定义

    1,一个整形数:  int a;

    2,一个指向整形数的指针: int *a;

    3,一个指向指针的指针,它指向的指针指向一个整形数:  int **a;

    4,一个有10个整形数的数组: int a[10];

    5,一个有10个指针的数组,每个指针指向一个整形数: int *a[10];

    6,一个指向有10个整形数的数组的指针:  int (*a)[10];

    7,一个指向指针的指针,被指向的指针指向一个有10个整形数的数组: int (**a)[10];

    8,一个指向数组的指针,该数组有10个整形指针:  int *(*a)[10];

    9,一个指向函数的指针,该函数有一个整形参数并返回一个整形数: int (*a)(int);

    10,一个有10个指针的数组,每个指针指向一个函数,该函数有一个整形参数并返回一个整形数:                      int (*a[10])(int);

    11,一个函数的指针,指向的函数的类型是有两个整形参数并且返回一个函数指针的函数,返回的函数指针指向有一个整形参数且返回整形数的函数:  int (*(*a)(int,int))(int);

    需要区分的几个有关指针的问题:

    1.const指针与指向const的指针

        1)const 指针:指针是const,

    比如:int * const x;

         表示指针不能修改,不能指向其他对象,但是指针所指向的地址的值可以修改;

        2) 指向const的指针:指针指向const对象

            比如:const int *x;

              或:int const *x;

         表示指针可以指向其他对象,但指针所指的当前对象的值不可以修改。

    2.函数指针与函数返回指针

         1)函数指针:指向函数的指针

             比如:int (*p)(int x, int y);

           表示p为一个指针,指向函数的首地址;

         2)函数返回指针:函数的返回值为指针类型

            比如:int *p(int x, int y);

           表示该函数返回值为指针类型。

    3.数组指针与指针数组

         1)数组指针:指向数组的指针

            比如:int (*p)[10];

          表示一个指针,指向具有10个整形元素的一维数组;

         2)指针数组:数组元素为指针的数组

           比如:int *p[10];

          表示一个一维数组,元素均为整形指针。

  • 相关阅读:
    java RSA 加签验签【转】
    json遍历 分别使用【原】
    oracle 递归和connect by【转】
    css before after基本用法【转】
    Java Web基础——Action+Service +Dao三层的功能划分
    JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
    UUID
    在ssh框架中service-action-jsp-formbeam-dao的调用顺序
    Singleton模式(单例模式)
    真正理解、区分Action,Service和Dao功能
  • 原文地址:https://www.cnblogs.com/liangxiaofeng/p/5684788.html
Copyright © 2011-2022 走看看