- (void *)ptr和(*(void **))ptr的结果是否相同? 其中ptr为同一个指针
- 要对绝对地址0x100000赋值,我们可以用(unsigned int *)0x100000=1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做?
-
给定结构体
struct A
{
char t:4;
char k:4;
unsigned short i:8;
unsigned long m;
}; 问sizeof(struct A)是多少?
5.编写函数void hton(float val,char *buf)把小端序的val转换成大端序的val,存放到buf中
6.写出int,bool,float,指针变量与“零值”比较的if语句
7.请指出如下语句的含义
void *(*(p1)(int))[10]; //函数名 p1 形参int 返回值 void *[10]
float (*(*p2)(int,int,float))(int);
typedef double (*(*(*p3)())[10])();
int (*(*p4())[10])();
8.现有1M长度的char数组,请将每个字节进行高低位互换(一个字节的八位二进制逆序),如果我们需要频繁地处理这样的数据,请实现一个高效的处理函数
9.用DrawPixel(x,y)画点函数实现一个void DrawLine(int x1,int y1,int x2,int y2)划线函数.
10.如下程序有什么问题,请指出
void test()
{
char string[10];
char *str1=”0123456789”;
strcpy(string,str1);
}
11.请你定义如下几种函数,函数没有形参,但是有返回值类型,返回值类型(只要类型符合要求就行)要求如下
返回函数指针
返回指针数组
返回数组指针
返回函数数组指针
12.const char *a;
const *char a;
char *const a; 有什么不同
13.#define CALC(x,y) x*y+x
int main()
{
int a=CALC(2*3,3+2);
printf(“result=%d\n”,a);
C语言面试笔试题01
最新推荐文章于 2023-09-16 14:28:02 发布