(面试题)教你10秒钟记住各种变量的定义

先看此题

用变量 给出下面的定义

a) 一个整型数

b)一个指向整型数的指针

c)一个指向指针的的指针,它指向的指针是指向一个整型数

d)一个有10个整型数的数组 

e) 一个有10个指针的数组,该指针是指向一个整型数的 

f) 一个指向有10个整型数数组的指针 

g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数

h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数


好,下面我教各位童鞋怎么做这种题。

a) int a;   // 这你要是不会那我也没辙了

b) int* a; // 同上

c) int** a; // 指向指针的的指针,则是**,什么类型?后面交代 指向一个整型数 则 很显然 int**

d)int a[10]; // 基础知识,不在详解

e)int* a[10]; // 注意了,首先说的是数组,数组里面存什么?存的是整型指针, ok,对比上面 int a[10];表示一个数组,里面存的是int,那么这题很明显就应该定义为

int* a[10];表示 一个长度为10数组,里面存的是int*

f)int (*a)[10];// 这题估计很多童鞋又要晕菜了,首先他说的是数组指针,那么请记住 数组指针的定义的规则 类型 (*a)[长度],然后根据题目带入即可

g)int (*a)(int);// 函数指针和数组指针的定义都要(*a),记住这个规则

h)int (*a[10])(int); // 教大家怎么记这个,首先确定它定义的是一个数组,那么就应该不带(*a),而是 (*a[10]),为啥,请参照e和f,是数组就a和[]紧挨,是数组指针就要用()将他们隔开,ok,然后看数组存什么内容,存的是函数指针把,因此只要对比g就不难理解 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值