资讯专栏INFORMATION COLUMN

指针进阶—指针和数组笔试题解析[建议收藏](二)

LuDongWei / 3064人阅读

摘要:指针笔试题笔试题上述代码运行结果是什么大家可以先思考一下答案如下代码运行结果如下笔试题假设的值为。欢迎大家点赞支持和指针


写在前面

上一篇博客我已经为大家讲解了数组内容,大家可以先参照上一篇博客——指针进阶—指针和数组笔试题解析[建议收藏]()。这篇文章我接着上一篇继续讲解指针有关的内容。

指针笔试题

笔试题1

int main(){	int a[5] = { 1, 2, 3, 4, 5 };	int *ptr = (int *)(&a + 1);	printf( "%d,%d", *(a + 1), *(ptr - 1));	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?


答案如下:


代码运行结果如下:

笔试题2

struct Test{	int Num;	char *pcName;	short sDate;	char cha[2];	short sBa[4];}*p;//假设p 的值为0x100000。 如下表表达式的值分别为多少?int main(){	printf("%p/n", p + 0x1);	printf("%p/n", (unsigned long)p + 0x1);	printf("%p/n", (unsigned int*)p + 0x1);	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?



今天·这篇博客不过多解释结构体大小的计算,后期博主也会发出相关的博客,大家可以关注一下。

代码运行结果如下:

笔试题3

//当前机器为小端存储模式int main(){	int a[4] = { 1, 2, 3, 4 };	int *ptr1 = (int *)(&a + 1);	int *ptr2 = (int *)((int)a + 1);	printf( "%x,%x", ptr1[-1], *ptr2);	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?



代码运行结果如图所示:

笔试题4

int main(){	int a[3][2] = { (0, 1), (2, 3), (4, 5) };	int *p;	p = a[0];	printf( "%d", p[0]);	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?



代码运行结果如下:

笔试题5

int main(){	int a[5][5];	int(*p)[4];	p = a;	printf( "%p,%d/n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?


代码运行结果如下:

笔试题6

int main(){	int aa[2][5] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };	int *ptr1 = (int *)(&aa + 1);	int *ptr2 = (int *)(*(aa + 1));	printf( "%d,%d", *(ptr1 - 1), *(ptr2 - 1));	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?


代码运行结果如下:

笔试题7

int main(){	char *a[] = {"work","at","alibaba"};	char**pa = a;	pa++;	printf("%s/n", *pa);	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?



笔试题8

int main(){	char *c[] = {"ENTER","NEW","POINT","FIRST"};	char**cp[] = {c+3,c+2,c+1,c};	char***cpp = cp;	printf("%s/n", **++cpp);	printf("%s/n", *--*++cpp+3);	printf("%s/n", *cpp[-2]+3);	printf("%s/n", cpp[-1][-1]+1);	return 0;}

上述代码运行结果是什么(大家可以先思考一下)?



代码运行结果如下:

总结

今天我就把“指针进阶—指针和数组笔试题解析”的下半部分内容讲完了。欢迎大家点赞支持和指针~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119978.html

相关文章

  • 思维导图整理大厂面试高频数组24: 合并两个有序数组的两种双指针思想, 力扣88

    摘要:此专栏文章是对力扣上算法题目各种方法的总结和归纳整理出最重要的思路和知识重点并以思维导图形式呈现当然也会加上我对导图的详解目的是为了更方便快捷的记忆和回忆算法重点不用每次都重复看题解毕竟算法不是做了一遍就能完全记住的所 ...

    darkerXi 评论0 收藏0
  • C语言进阶指针进阶

    摘要:故使用无具体类型,又称通用类型,即可以接收任意类型的指针,但是无法进行指针运算解引用,整数等。求指针所占字节而不是解引用访问权限大小。数组就是整个数组的大小,数组元素则是数组元素的大小,指针大小都为。 ...

    ingood 评论0 收藏0
  • 三文读透指针语法【上篇】@指针进阶---字符指针+数组指针+指针数组+数组传参指针传参

    摘要:本文重点字符指针指针数组数组指针数组传参和指针传参引在指针的初阶已接触过指针的概念,并介绍了如下内容指针是个变量,用来存放地址,地址唯一标识一块内存空间,所以地址也形象的被称作指针。解析指针数组指针数组即,存放指针的数组。 ...

    sshe 评论0 收藏0
  • 建议收藏】两万字深度解读 指针 ,学好指针看这一篇文章就够了

    摘要:在位机器上,指针变量的大小为个字节。指针类型的强制类型转换对指针变量进行强制类型转换的一般形式将保存的类型指针强制转换为类型指针后赋值给,其中还是为,没有改变。 前言 大家好,我是努力学习的少年,今天这篇文章是专门写关于指针的知识点,因为指针内容比较多,所以我将指针的这篇文章我将它分为...

    zhkai 评论0 收藏0
  • 深入理解C语言指针——挑战C指针笔试 (bug郭一起学C系列)

    摘要:所以是数组指针,而是指针数组。因为对一个二维数组,可以不知道有多少行,但是必须知道一行多少元素。当二维数组数组名传参,形参接收时,数组的行可以省略,列不能省略,如果省略了列,我们就无法知道当指针加减跳过几个字节。 ...

    miracledan 评论0 收藏0

发表评论

0条评论

LuDongWei

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<