Managing memory and storing strings
#include <stdio.h> #define BUFFER_LEN 500 int main() { char buffer[BUFFER_LEN]; /* Store for strings */ char *pS1 = NULL; /* Pointer to first string */ char *pS2 = NULL; /* Pointer to second string */ char *pS3 = NULL; /* Pointer to third string */ char *pbuffer = buffer; /* Pointer to buffer */ printf("\nEnter a message\n"); pS1 = pbuffer; while ((*pbuffer++ = getchar()) != '\n'); *(pbuffer - 1) = '\0'; printf("\nEnter another message\n"); pS2 = pbuffer; while ((*pbuffer++ = getchar()) != '\n'); *(pbuffer - 1) = '\0'; printf("\nEnter another message\n"); pS3 = pbuffer; while((*pbuffer++ = getchar()) != '\n'); *(pbuffer - 1) = '\0'; printf("\nThe strings you entered are:\n\n%s\n%s\n%s",pS1, pS2, pS3); printf("\nThe buffer has %d characters unused.\n",&buffer[BUFFER_LEN - 1] - pbuffer + 1); }