`
solem
  • 浏览: 34317 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

C语言应用于LR中-如何得到数组长度(转)

阅读更多
C语言没有提供获取数组长度的函数,最起码我不知道,所以编写了一个函数取数组的长度,调试成功,大家可以试试。另外也可以用sizeof(a)/4来取得整型数组的长度,因为整型占4个字节。效果相同。
#include "web_api.h"

int LenofArray(int *p)
{
        int length=0;
        for(;*p!='\0';p++)
        length++;
        return length;
}

Action()
{
    int a[]={1,2,3,4,23,234,4543,565,767};
    int m=LenofArray(a);
    lr_output_message("%d",m);
 return 0;
}
分享到:
评论

相关推荐

    编译原理-LR语法分析器的控制程序实验报告.pdf

    LR语法分析是一种在编译原理中广泛应用的技术,用于解析程序源代码并将其转化为可执行形式。本实验报告旨在通过手动模拟LR语法分析器的控制程序,理解LR分析表的构造和工作原理。 在LR语法分析过程中,LR分析表是...

    C语言学生成绩管理系统代码实习.doc

    【C语言学生成绩管理系统代码实习】是一个使用C语言编写的简单系统,旨在帮助管理学生的学习成绩。系统的核心是通过结构体数组存储学生的基本信息和成绩,并提供了录入、查询和修改等功能。 首先,我们看到代码中...

    语法分析器

    在代码中,`code_val`结构体用来存储词法分析生成的单词二元式,`M`数组则表示LR分析表,其每一行对应一个状态,每一列对应一个输入符号,每个元素表示对应状态下对特定输入符号的处理动作(通常是移进或归约)。...

    学生管理系统程序源代码.doc

    根据提供的文件信息,可以看出这是一份用C语言编写的简单学生管理系统程序的源代码。下面将对该源代码中的关键知识点进行详细的解读。 ### 关键知识点分析 #### 1. 结构体定义 在该程序中,首先定义了一个名为`...

    2016211504-2016212011-田宇-语法分析器1

    此外,田宇还定义了一个`G`结构体,用来存储文法产生式的左部非终结符、右部的代码串以及右部的长度,这有助于进行规约操作。实验中给出了该文法的11个产生式,覆盖了从起始符号`S`到终结符号`id`、`(E)`和`num`的...

    ARM_THUMB汇编(补丁开发类)基础教程.pdf

    通过示例展示了如何将C语言的字符串声明转换为汇编代码,包括`STRID`的定义和`Str2ID`函数的调用,以及如何处理Unicode编码和数组长度。 本教程适合对ARM架构有一定了解,希望通过THUMB汇编进行补丁开发的读者。它...

    北邮编译原理自底向上语法分析实验报告.pdf

    2. 构建一个相对应的整型数组,将输入缓冲区中的字符转换为相应的代号并保存。 3. 构造一个结构体,以保存文法的某个产生式,该结构包括三个元素:整形变量,保存产生式左部非终结符代号。整型数组,保存产生式右部...

    嵌入式期末考试试卷

    - **strtest.c**文件中使用了C语言与汇编语言的混合编程,通过extern关键字声明了汇编语言函数`strcopy`的外部定义,并在主函数中调用了该函数来实现字符串的复制。 以上就是从给定文件中提取的关键知识点。

    整数转换为相应字符数汇编语言代码

    4. **寄存器使用**:了解不同寄存器的作用及其在程序中的具体应用。 #### 详细解析 ### Init.s 文件 ```assembly IMPORT Main AREA INIT, CODE, READONLY ENTRY BL Main ``` **解析**: - **IMPORT Main**:声明...

    二叉排序树与平衡二叉树的实现

    如果是LR型或LR型,则需应用扁担原理旋转两次,第一次最小不平衡子树的根结点先不动,调整插入结点所在子树,第二次再调整最小不平衡子树,在旋转过程中,如果出现冲突,应用旋转优先原则调整冲突; (5)计算调整后的...

    ARM_汇编程序实现选择排序

    - `len`变量存储数组长度。 - `format`与`line_end`字符串用于格式化输出。 #### 四、调试与运行 **调试与运行**部分,虽然题目中给出的是图片形式,这里不做展示,但可以简单介绍如何进行调试与运行: 1. **...

    词法分析器

    在C语言中,这可能涉及到对字符数组的操作和指针的使用。 在调试和测试词法分析器时,开发者通常会编写测试用例,包含各种可能的源代码片段,确保词法分析器能够正确地识别和处理各种情况。这包括边界条件,如最大...

    Arm Linux系统调用流程详细解析1

    在C语言中,系统调用通常通过`syscall()`函数或者`__NR_*`常量配合`int 0x80`汇编指令触发。在Arm架构上,系统调用号存储在寄存器`r7`中,其他参数则分别存储在`r0`至`r6`中。例如,执行`write`系统调用时,系统调用...

    2012 软件学院 试题B答案1

    表示register类型是一个结构体,包含一个长度为10的char数组和一个int,占11个内存单元。 【递归下降文法】 将给定文法S → aSA变为递归下降文法需要创建对应的解析函数,这里给出一个基本框架: ```cpp void S() ...

Global site tag (gtag.js) - Google Analytics