C++ 数组类型+函数指针语法总结

#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);
	}

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

banjitino

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值