# The difference of macro commands

**URL:** <https://community.freefem.org/t/the-difference-of-macro-commands/1905>\
**Category:** General Discussion\
**Created:** [July 22, 2022, 3:39am UTC](https://community.freefem.org/t/the-difference-of-macro-commands/1905 "2022-07-22T03:39:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Qianrui](https://avatars.discourse-cdn.com/v4/letter/q/9fc348/32.png) [@Qianrui](https://community.freefem.org/u/Qianrui)\
**Post date:** [July 22, 2022, 3:39am UTC](https://community.freefem.org/t/the-difference-of-macro-commands/1905/1 "2022-07-22T03:39:59Z")

</div>

Hello, about macro commands, what is the difference between the following two commands?

> macro def(i)[i, i#B, i#C]// EOM // vector field definition  
> macro init(i)[i, i, i]// EOM // vector field initialization

---

<div class="post-metadata">

**Author:** ![prj](https://avatars.discourse-cdn.com/v4/letter/p/ecae2f/32.png) [@prj](https://community.freefem.org/u/prj)\
**Post date:** [July 22, 2022, 6:17am UTC](https://community.freefem.org/t/the-difference-of-macro-commands/1905/2 "2022-07-22T06:17:58Z")

</div>

As written in your code snippet and in the many available examples, `def` is for defining a variable, `init` is for initializing a variable.
