--- title: ffi.new summary: Alocates e inicializa cdata. Se requiere un argumento de tamaño para arrays o structs de longitud variable. section: reference kind: api status: reference updated: 2026-10-26 tags: ["API","X4"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/","https://www.lua.org/manual/5.1/manual.html","https://luajit.org/ext_ffi_api.html"] --- ## Descripción Alocates e inicializa cdata. Se requiere un argumento de tamaño para arrays o structs de longitud variable. ## Valor devuelto | Tipo | Significado | | --- | --- | | [`cdata`](wiki:type-cdata) | Tipos describen la interfaz declarada, no prueba de un efecto de juego exitoso. | [Tipos y métodos](wiki:types) ## Parámetros | Nombre | Tipo | | --- | --- | | `ctype` | [`string`](wiki:type-string) \| [`cdata`](wiki:type-cdata) | | `size (required for VLA/VLS only)` | [`number`](wiki:type-number) | | `initializers...` | [`any`](wiki:type-results) | ? marca un argumento opcional; ... significa un número variable de argumentos. La entrada no válida puede generar un error Lua en lugar de devolver nil. ## Ejemplo y contexto ```lua local ffi = require("ffi") local value = ffi.new("uint64_t", 42) ``` **Qué ocurre:** El valor no está firmado, cdata de 64 bits que contiene 42. Este fragmento no imprime ni escribe un mensaje de registro. Los valores mostrados son los resultados esperados del ejemplo. Ver [conceptos básicos del idioma](wiki:x4-code-basics), [tipos y métodos](wiki:types) y [Eventos Lua / MD](wiki:md-lua-bridge). Ejemplos de aprendizaje independiente son ejemplos. No se distribuyen archivos de fuentes de proyectos o fragmentos de implementación privada con esta referencia.