函数指针类型与函数类型的问题
今天学到了函数指针类型。大概的定义能理解了,就是定义一个类型,这个类型是一个函数指针?可能是吧
然后有下面的代码:
#include <iostream>
using namespace std;
int* get_arr(int a, int b, int c) {
int* list = new int[a];
for (int i = 0; i < a; i++) {
*(list + i) = b + i * c;
}
return list;
}
typedef int* (*intarr)(int a, int b, int c);
int main() {
intarr go = get_arr;
return 0;
}
当然上面的代码自己觉得好玩,定义了一个指针函数,然后定义了一个指向指针函数的函数指针类型。(纯好玩)
我作如下修改:typedef int* (*intarr)(int a, int b, int c);
这句代码如果换成:typedef int* intarr(int a, int b, int c);
我的main函数里面的赋值就要变为intarr *go = get_arr;
指针变成了从新建一个函数类型的指针指向指针函数。
然后有这么一个问题:
从使用上,我大概都能明白了,但是底层内存上,究竟是怎么运作的?哈哈,纯好奇,因为没有侧重学习内存,云里雾里的