鱼C论坛

 找回密码
 立即注册
查看: 1534|回复: 1

指针取值问题

[复制链接]
发表于 2014-11-17 16:27:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<conio.h>
using namespace std;
int main()
{
       
        unsigned char a=0xf7;
        char *b=(char *)&a;
        printf("%x    %x",a,*b);
        return 0;
}
结果是f7  fffffff7
为什么会是fffffff7,我理解利用指针间接访问变量时,就是从指针中找到变量的首地址,然后根据指针的类型决定从该首地址开始的连续几个内存为变量的内存,然后读入这连续内存中的数据作为该变量的值。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-11-19 22:14:52 | 显示全部楼层
怎么都是基础中的基础...
前面申请和后面的完全不配套呀
unsigned char *b=(unsigned char *)&a;
这样才对呀
之所以多几个F是因为占得字节不一样.
unsigned char 1字节
char 4字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 10:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表