`
meohao
  • 浏览: 97805 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

c 中的编译器解释指针

阅读更多
/********************************************************/
short a[]={1,2,3,4,5,6,7,8,9};
int *p = (int*)a;
int *q = (int*)(a+4);
cout<<a[q-p]<<endl;

数组的每个元素占两个字节
p指向1 而q指向5
当q-p是 因为他们都是int* 编译器会认为一个指针要读四个字节
结果为3

/********************************************************/
short c[]={10,11,12,13};
printf("%08x\n",*((int*)c));
当把c转化为int*时 再去解引用时 编译器会去内存读取四个字节

%x表示以16进制输出
%8x表示以8位输出 也就是每一位表示4位二进制
%08x表示不足8为的前面补0
主机字节序是低位先存,网络字节序是高位先存
结果000B000A

  • 大小: 14.3 KB
  • 大小: 21.7 KB
分享到:
评论
1 楼 Coolala_cs 2010-10-03  
“版权所有,违者必究”

相关推荐

    C语言子集编译器_编译器_

    - **受限的C子集**:这个编译器可能只支持C语言的特定部分,例如不包含浮点运算、复杂的指针操作或某些标准库函数,以简化处理或满足特定环境要求。 - **定制化扩展**:可能添加了针对特定应用领域的自定义语法或...

    自己用c#做的C语言编译器内带测试程序

    标题中的“自己用c#做的C语言编译器内带测试程序”表明这是一个个人项目,开发者使用C#编程语言创建了一个小型的C语言编译器,并且这个编译器包含了用于验证其功能的测试程序。这涉及到计算机科学中的编译原理、...

    c语言实现C编译器c语言实现C编译器

    此外,C语言实现C编译器时可能会遇到一些挑战,例如递归定义的处理、指针和数组操作的复杂性,以及C预处理器的处理等。为了处理这些复杂性,开发者需要编写复杂的代码和数据结构,如自定义的词法分析器和解析器。 ...

    水滴石穿C语言之编译器引出的问题.doc

    《水滴石穿C语言之编译器引出的问题》 C语言的编译过程具有其独特的特性,这些特性在编程实践中可能导致一些不常见...水滴石穿,通过深入理解和实践,我们可以逐渐克服C语言编译器带来的挑战,实现高效而稳定的编程。

    c语言的编译器啊

    C语言编译器的工作原理主要包括预处理、编译、汇编和链接四个步骤。 1. **预处理(Preprocessing)**:在编译过程的第一阶段,预处理器会处理源代码中的宏定义、条件编译指令(如`#ifdef`,`#ifndef`等)以及包含...

    讲述c语言中指针c 指针.pdf

    ### C语言中指针的理解与应用 #### 一、引言 指针是C语言中一个非常重要的概念,也是很多初学者感到困惑的部分。本文旨在深入解析C语言中指针的相关概念及其应用方法,帮助读者更好地理解和掌握指针。文章首先会...

    自制c语言编译器

    自制C语言编译器是一个基于编译原理课程设计的项目,旨在实现将C语言源代码转化为汇编语言的工具。这个编译器包含了多个关键组件和步骤,涉及到的知识点广泛,包括C语言基础、编译器设计、词法分析、语法分析等。 ...

    很小的C语言编译器

    WIN-TC,全称为Windows Tiny C Compiler,是一款专为Windows系统设计的C语言编译器。它的核心在于“小”,整个安装包的大小相较于其他知名IDE如Visual Studio、Code::Blocks等,显得尤为轻便。这使得它在低配置的...

    基于java实现的C语言编译器.zip

    《基于Java实现的C语言编译器》 在软件开发领域,编译器扮演着至关重要的角色,它将高级语言转换为机器可执行的代码。本项目“基于Java实现的C语言编译器”旨在探讨如何利用Java语言来构建一个能够理解和转化C语言...

    c语言编译器源码(dos)

    在这个“C语言编译器源码(DOS)”的压缩包中,包含的是一份适用于DOS操作系统的Small C编译器的源代码。对于学习编译原理、C语言底层工作方式以及软件开发过程的开发者来说,这是一个非常宝贵的资源。 1. **编译器...

    Borland 公司的C语言编译器

    Borland公司是计算机软件开发工具的重要供应商,其在80年代和90年代初期推出的一款经典C语言编译器——Turbo C,成为了许多程序员入门C语言的首选工具。这款编译器以其高效、便捷和对DOS环境的良好支持而闻名。 ...

    C语言中的灵魂—指针

    ### C语言中的灵魂—指针 #### 指针的概念及其四大要素 在谭浩强的经典C语言教材中,指针被比喻为C语言的灵魂,这是因为指针的强大功能和灵活性使其成为了C语言中最核心也是最难掌握的部分之一。本文将深入探讨...

    Rarnu C C语言编译器

    Rarnu C是一款专为初学者设计的C语言编译器,它提供了友好的环境,使得初学者在学习和实践C语言编程时能够更加轻松。C语言作为一种基础且强大的编程语言,广泛应用于系统编程、软件开发、设备驱动等多个领域。Rarnu ...

    用c语言实现的c0编译器

    在C0语言中,它去除了C语言的一些复杂特性,如指针、结构体、预处理器等,保留了基本的数据类型、控制流(如if-else、while、for循环)和函数调用等。这种简化的语言使得编写一个简单的编译器变得更为可行,是学习...

    C语言指针练习填空和阅读程序题

    在编译器设计中,指针可以用来实现语法分析和语义分析等。 七、指针的注意事项 在使用指针时,需要注意一些问题,例如,指针的初始化、指针的越界访问、指针的赋值等问题。如果不正确地使用指针,可能会导致程序...

    C语言中相关的指针学习

    2. **指针所指向的类型**:这决定了通过指针访问内存时,编译器如何解释那段内存中的数据。例如,`int *ptr`的指针所指向的类型是`int`,这意味着当我们通过`ptr`访问内存时,会将其视为整型数据。 3. **指针的值**...

    c语言编译器 TC 2.0

    TC 2.0,全称为Turbo C 2.0,是Borland公司在1980年代末至1990年代初推出的C语言编译器,它在当时非常流行,尤其对于初学者和教育领域,因为其小巧、快速且功能强大。Turbo C 2.0是一款集成开发环境(IDE),包含了...

    c语言编写的c语言编译器.zip

    C语言编写的C语言编译器,这是一个相当有趣且具有挑战性的主题,它涉及到编译原理、编程语言设计以及软件工程等多个方面的知识。C语言是一种强大的、底层的、静态类型的编程语言,它被广泛用于系统编程、嵌入式开发...

    一款用C语言写的C语言编译器。.zip

    在C语言编译器的情况下,这些步骤都是用C语言本身来实现的,这是一种自我解释的例子,因为C编译器用于编译C代码,而编译器本身也是由C编写的。 1. **词法分析**:这是编译过程的第一步,也称为扫描。编译器读取源...

    C语言编译器源代码.rar

    在这个压缩包中,你可能会找到一个完整的C语言编译器的源代码实现,这将是一个宝贵的教育资源。 首先,我们要了解编译器的基本工作流程。编译器通常分为以下几个阶段: 1. **词法分析**:输入的C源代码被分割成一...

Global site tag (gtag.js) - Google Analytics