C语言高手进,C语言程序切片

C语言高手进,C语言程序切片,第1张

google了一下,找到一些概念:

定义:一个程序切片是由程序中的一些语句和判定表达式组成的集合.这些语句和判定表达式可能会影响在程序的某个位置(常用行号标识)p上所定义的或所使用的变量v的值。

所谓程序切片是指通过分析程序的数据依赖和控制依赖而达到自动分解源程序的一种方法.其中数据依赖揭示了语句间存在的数据流方面的内在联系而控制依赖则揭示了语句间存在的控制流的内在联系。

程序P的切片S是P的一个可执行部分,对某个兴趣点s处的变量v而言,这个可执行部分相对于程序P,在功能上是等效的[1].程序切片S由程序P中可能影响s处变量v的值的所有语句组成。

程序切片是一种分析和理解程序的技术,是通过对源程序中每个兴趣点分别计算切片来达到对程序的分析和理解.程序中某个兴趣点的程序切片不仅与在该点定义和使用的变量有关,而且与影响该变量的值的语句和谓词以及受该变量的值影响的语句和谓词有关.

你现在学java吧?java我还没学,所以用python来比喻,应该很容易看懂

你可以把数组比喻成一块面包,

而里面的每一个数据就是一片面包

索引是直接输出位置

比如说我要第一块面包 str[0]

我要最后一块面包 str[-1]

切片是把想要的部分留下

我要第一块面包就是 str[0]

我要第一块后面的所有面包就是 str[1:]

我要第一块后面的所有面包并且最后一块 不要 str[1:-1] -1表示最后一块

再拓展一下

我要第一块后面的的面包并且每隔一块再拿

就是 str[1::2]

str{起始位置:终点位置:跳跃取值}

带有分号的就是切片


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12053612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存