指针数组与数组指针,结构体数组与结构体指针

指针数组

指针数组是一个数组,数组的元素保存的是指针;

定义:

int *p[size]      //表示数组存的是指针,有size个指针数据
 

数组指针

数组指针是一个指针,该指针指向的是一个数组;

定义:

int (*p)[size]  //数组指针,存储size个int类型的数据

指针函数与函数指针

指针函数
指针函数是一个函数,该函数返回的是一个指针;

函数指针

函数指针是一个指针,该指针指向一个函数;

#include 
 
int* getIntPoint(const int a) //指针函数,是一个函数 返回一个指针;
{
    int *p = nullptr ;
    p = new int ;
    *p = a; 
    return p ;
}
 
 
int main(int argc, char const *argv[])
{
    int *(*p)(int)  = getIntPoint ; //函数指针,该指针指向一个函数;
    int* pInt = p(5); //使用函数指针;
    printf("%d\n",*pInt);
    delete pInt ;
    return 0;
}
#include 
void print();
int main(void)
{
    void (*fuc)(); 
    fuc = print ; 
    fuc();  
} 
void print()
{
    printf("hello world!\n");
}

回调函数

函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。

#include   
#include 
 
// 回调函数
void populate_array(int *array, size_t arraySize, int (*getNextValue)(void))
{
    for (size_t i=0; i

结构体数组

数组中存储的元素都是一个结构体,类似整型数组中存储的是int型。

申明结构体数组:
结构体名  数组名【size】

结构体指针

指向结构体的指针。

结构指针变量说明的一般形式为:

struct 结构体名 *结构体指针变量名
struct student *p = &Boy; //假设事先定义了 struct student Boy;

转载于:https://www.cnblogs.com/xzj8023tp/p/11224935.html

你可能感兴趣的:(指针数组与数组指针,结构体数组与结构体指针)