Files
exc/c/allocstrings.c
2026-06-30 07:01:23 +02:00

45 lines
1.2 KiB
C

/*
een programma dat newlines leest en ze dan weer print
we gaan een scanf moeten maken die newlines leest en dan malloced voor elke
string
scanf lijkt automatisch te stoppen op newlines, maar gaat wel onmiddelijk door totdat alle scanf's satisfied zijn
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define WORDCOUNT 5
void storeinput(char input[], int index, char **strarr) {
char *myword = malloc(strlen(input) +1);
//*myword = *input; //blijkbaar hier strcpy voor nodig, want anders overwrite
//ik hier alleen maar de value van de pointer zelf
strcpy(myword, input); //myword is a pointer to allocated memory, but it's empty unless strcopy
printf("myword:%s\n", myword);
strarr[index] = myword;
printf("strarr:%s\n", strarr[index]);
}
int main() {
// laten we eerst een array van pointers naar strings maken
char **strarr = malloc(sizeof(char *) * 10);
// moeten nu een functie maken die individuele strings malloced?
for (int i = 0; i < WORDCOUNT; i++) {
char temp[50];
scanf("%s", temp);
storeinput(temp, i, strarr);
printf("wordin:%d %s\n", i, temp);
}
for (int i = 0; i < WORDCOUNT; i++) {
printf("word:%d, %s\n", i, strarr[i]);
}
return 0;
}