# Blog: Understanding How Zig and C Interact

**URL:** <https://ziggit.dev/t/blog-understanding-how-zig-and-c-interact/6733>\
**Category:** Media\
**Tags:** compiler, c, build-system, learning\
**Created:** [November 7, 2024, 5:03am UTC](https://ziggit.dev/t/blog-understanding-how-zig-and-c-interact/6733 "2024-11-07T05:03:23Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![LucasSantos91](https://ziggit.dev/user_avatar/ziggit.dev/lucassantos91/32/440_2.png) [@LucasSantos91](https://ziggit.dev/u/LucasSantos91)\
**Post date:** [November 7, 2024, 5:36pm UTC](https://ziggit.dev/t/blog-understanding-how-zig-and-c-interact/6733/7 "2024-11-07T17:36:08Z")

</div>

It is. The calling convention is the ABI. When caller and calle are both in Zig, Zig can decide whichever calling convention it wants to use. When interacting with C, either calling or being called, there needs to be a well-defined and explicit ABI, otherwise there’s no guarantee that both functions are speaking the same language.

---

_[View the full topic](https://ziggit.dev/t/blog-understanding-how-zig-and-c-interact/6733)._
