Systems IO
Stack Buffer
A stack buffer can hold a small generated string when the program writes a terminator.
Stack Buffer
stack_buffer.c
#include <stdio.h>
int main(void) {
int limit = ;
char buffer[6] = {0, 0, 0, 0, 0, 0};
for (int i = 0; i < limit; i++) {
buffer[i] = (char)('A' + i);
}
buffer[limit] = '\0';
printf("text=%s length=%d\n", buffer, limit);
return 0;
}
#include <stdio.h>
int main(void) {
int limit = ;
char buffer[6] = {0, 0, 0, 0, 0, 0};
for (int i = 0; i < limit; i++) {
buffer[i] = (char)('A' + i);
}
buffer[limit] = '\0';
printf("text=%s length=%d\n", buffer, limit);
return 0;
}
#include <stdio.h>
int main(void) {
int limit = ;
char buffer[6] = {0, 0, 0, 0, 0, 0};
for (int i = 0; i < limit; i++) {
buffer[i] = (char)('A' + i);
}
buffer[limit] = '\0';
printf("text=%s length=%d\n", buffer, limit);
return 0;
}
capacity
The buffer has room for data characters plus the terminating zero byte.
terminator
Writing `'\0'` turns the filled characters into a C string.