几种特殊的数据类型的判断

举例:
说明:因为()的优先级在*前面,所以有无括号会造成不同的结果
1.int (*x)[4]指向数组的指针 数组指针
2.int *(x)[4]保存指针的数组 指针数组
3.int *f();返回值为指针的函数 指针函数
4.int (*f)();指向函数的指针 函数指针

例题分析:
一维数组:

在这里插入图片描述

int arr[4];        	  数据类型
arr:                  int *x;
arr+1:                int *x;
arr[0]:               int x;
arr[0]+1:             int x;

arr和arr+1表示该数组地址的第一个地址和后一个,所以为指针类型数据
arr[0]和arr[0]+1代表第一个格子和后一个,所以为整型类型

二维数组:
在这里插入图片描述

int brr[3][4];  数据类型
brr;            int(*x)[4];
brr+1;          int(*x)[4];
brr[0];         int *x;
brr[0]+1;       int *x;
brr[0][0];      int x;
brr[0][0]+1;    int x;

将该二维数组分为三个一维数组块,brr代表第一大块,brr+1代表第二大块,所以为int(*x)[4]类型;brr[0],brr[0]+1,brr[0][0],brr[0][0]+1跟上面一维数组同理.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值