#include <iostream>
using namespace std;
//数组类型基本语法总结
//定义一个数组类型
//定义一个指针数组类型
//定义一个指向数组类型的指针 数组指针
int main01()
{
int a[10];
{
//定义一个数组类型
typedef int(myTypeArray)[10];
myTypeArray myArray;
myArray[0] = 10;
printf("%d\n", myArray[0]);
}
{
//定义一个指针数组类型
typedef int(*PTypeArray)[10]; //int *p
PTypeArray myPArray;//sizeof(int) * 10
myPArray = &a;
(*myPArray)[0] = 20;
printf("a[0]: %d\n", a[0]);
}
{
//定义一个指向数组类型的指针 数组指针
int(*myPointer)[10];//变量,告诉C++编译器,给我分配内存
myPointer = &a;
(*myPointer)[0] = 40;
printf("a[0]: %d\n", a[0]);
}
return 0;
}
//函数指针基本语法总结
//1 定义一个函数类型
//2 定义一个函数指针类型
//3 顶一个函数指针 (指向一个函数的入口地址)
int add(int a, int b)
{
printf("func add : %d\n", (a + b));
return a + b;
}
void main()
{
add(1, 2);
//定义一个函数类型
{
typedef int (myFuncType)(int a, int b);//定义了一个类型
myFuncType* myPointerFunc = NULL;//定义了一个指针,指向函数
myPointerFunc = &add;
myPointerFunc(3, 4);//间接调用
}
//定义一个函数指针类型
{
typedef int (*myPointerFuncType)(int a, int b);//int* a = NULL;
myPointerFuncType myPointerFunc;//定义了一个指针
myPointerFunc = &add;
myPointerFunc(5, 6);
}
//直接定义函数指针
{
int (*myPointerFunc)(int a, int b);//定义了一个变量
myPointerFunc = add;//C逐渐成熟的过程中,兼容历史版本
myPointerFunc(7, 8);
}
}
C++ 数组类型+函数指针语法总结
最新推荐文章于 2023-03-28 11:31:05 发布