与其悲叹自己的命运,不如相信自己的力量。(蒙古谚语)
C语言指针是C语言最精华的部分,也是最难掌握的部分,也是通常面试题必考的题目。掌握了C语言指针,才算是真正掌握了C语言。
2005年华为招聘--C语言笔试试题
我们从实际的面试题入手,一方面可以学习C语言指针方面的知识,另外一方面也可以了解公司招聘所侧重的知识点。非指针的问题,略过,只给出答案
一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)
1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。(T)
答案:正确
2、int (*ptr) (),则ptr是一维数组的名字。(F)
答案:这个是错误的,正确的说法是函数指针。
分析:什么是函数指针呢?
函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数的参数。比如,linux系统或者freeRTOS常用到回调函数,通常都是以函数指针的形式传递的。
<strong>3、指针在任何情况下都可进行>,=,、=、 |