---
name: "addbddvarafter"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/addbddvarafter"
---

# addbddvarafter(3)

adds a new variable, after an existing one.

## NAME

addbddvarafter - adds a new variable, after an existing one.

## SYNOPSYS

```
#include "bdd101.h"
bddnode ∗addbddvarafter( BddSystem )
  bddsystem ∗BddSystem;
  bddindex      Index;
```

## PARAMETERS

- *BddSystem*

  The **bdd** system.

- *Index*

  The **bdd** index of an existing variable.

## DESCRIPTION

**addbddvarafter** creates a new variable, with the number *BddSystem*-\>INDEX\_TO\_VAR\[ *Index* \] + 1 in the **bdd** system *BddSystem*. If a null pointer is given, the default **bdd** system is used.\

## RETURN VALUE

**addbddvarafter** returns a pointer to the **bdd** node of the new variable.

## ERRORS

**"no more variables, error !"**

There is no variable number left.

**"index xxx out of range, error !"**

The *Index* parameter must be a valid index.

## EXAMPLE

```
#include "bdd101.h"
   bddsystem  ∗BddSystem;
   bddnode    ∗BddNode1;
   bddnode    ∗BddNode2;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddNode1 = addbddvarfirst( (bddsystem ∗)0 );
   BddNode2 = addbddvarafter( (bddsystem ∗)0, BddNode1->INDEX );
   destroybddsystem( (bddsystem ∗)0 );
```

## SEE ALSO

[**bdd**(1)](/bdd/1.md)
