一道C语言指针的题目

admin 2025年1月13日20:02:14评论6 views字数 368阅读1分13秒阅读模式
来自公众号:嵌入式Linux

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

大家看看这个代码输出什么?如果想让它输出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("%4Xn", *p);
return 0;
}

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

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

0x0013, 0x0014

这样的话,直接输出0x00140013

这样大家能明白了不?

一道C语言指针的题目

原文始发于微信公众号(汇编语言):一道C语言指针的题目

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月13日20:02:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一道C语言指针的题目https://cn-sec.com/archives/1091524.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息