Si se conoce el tamaño de la memoria intermedia en tiempo de compilación:
unsigned char buffer[SIZE] = {0};
Para buffers asignados dinámicamente (búferes asignados durante tiempo de ejecución o en la montón):
1.Prefer la new
operador:
unsigned char * buffer = 0; // Pointer to a buffer, buffer not allocated.
buffer = new unsigned char [runtime_size];
soluciones 2.Many a "inicializar" o se llenan de un valor simple:
std::fill(buffer, buffer + runtime_size, 0); // Prefer to use STL
memset(buffer, 0, runtime_size);
for (i = 0; i < runtime_size; ++i) *buffer++ = 0; // Using a loop
lado idioma 3.El C proporciona asignación e inicialización con una llamada.
Sin embargo, la función no llama a los constructores del objeto:
buffer = calloc(runtime_size, sizeof(unsigned char))
Tenga en cuenta que esto también establece todos los bits en la memoria intermedia a cero; no tienes elección en el valor inicial.
El nombre de la variable es incorrecto. No es un buffer, solo un puntero. Crear un buffer con char sin signo tempBuffer [666]; –