一道C语言指针的题目

嵌入式Linux

共 372字,需浏览 1分钟

 ·

2022-05-28 05:26

早上看到的题目,但是现在去找没看到了。我当时还把图片放在小号里面了,大家可以看看。

大家看看这个代码输出什么?如果想让它输出77要怎么用指针写呢?

凭记忆写一下

#include "stdio.h"#include "stdint.h"
int main()
{
uint16_t a[12] = {0x11,0x12,0x13,0x14,0x77,0x88};
uint32_t *p = (uint32_t*)&a[0];
p++;
printf("%4X\n", *p);
return 0;
}


a 一个位置的大小是2个字节,p指向的大小是4个字节,所以p++ 执行一次就会跳动4个字节。

这样,他所指向的位置应该是

0x0013, 0x0014

这样的话,直接输出0x00140013

这样大家能明白了不?




浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报