文章目录
- 前言
- 一、数据类型
-
- 1、用变量 a 给出下面的定义
- 2、下面的代码输出是什么,为什么?
- 3、写出 float x 与“零值”比较的 if 语句。
- 4、下面代码有什么错误?
- 5、下面代码输出是什么?
- 6、下面代码运行后会是什么现象?
- 7、下面函数的返回值是?
- 8、结构体内存对齐原则?
- 9、结构体内存对齐的原因?
- 10、给定的位域结构体,它在内存中占用多少字节(32位编译器)?
- 11、在32位系统中,有如下结构体,那么sizeof(fun)的数值是?
- 12、数组首元素地址和数组地址的异同?
- 13、下面代码输出是什么?
- 14、判断下列表达式正确与否?
- 15、查看下面代码,p[6] 等于几?
- 16、下面代码的输出结果是什么?
- 17、变长数组是什么?
- 18、bool 类型包含于哪个头文件?
- 19、结构体struct和联合体union的区别?
- 20、给了一个地址a,分别强转类型为:int变量、int指针、数组指针、指针数组、函数指针。
- 21、执行完下面代码,c 的值是多少?
- 22、C语言中不同数据类型之间的赋值规则?
前言
记录一些招聘公司在招聘嵌入式软件岗位时的一些问题,此文为第三篇。
一、数据类型
1、用变量 a 给出下面的定义
- 一个整型数: int a。
- 一个指向整型数的指针(一重指针): int *a。
- 一个指向指针的的指针,它指向的指针是指向一个整型数的指针(二重指针): int **a。
- 一个有10个整型数的数组 :int a[10]。
- 一个有10个指针的数组,这10个指针是指向整型数的(指针数组): int *a[10]。
- 由于 [] 的优先级高于 *,所以首先是一个数组,然后数组的元素是指向int的指针。
- 一个指向有10个整型数数组的指针(数组指针):int (*a)[10]。
- 由于括号 () 的优先级高于 [],所以首先是一个指针,然后这个指针指向一个包含10个整数的数组。
- 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(函数指针):int (*a)(int)。