Dit is vast een vrij basic vraag voor maar ik kom er niet uit.
Wat gaat hier mis? De eerste printf geeft netjes "regel1"; de 2e alleen maar random bagger. De bedoeling is dus dat test.array netjes naar of string_array[X] wijst.
Wat ik eigenlijk eerst wilde doen is:
Ik kwam erachter dat dat niet ging werken. fout was "incompatible types in assignment". De oplossing was of strcopy gebruiken of pointers. Waarbij pointers de voorkeur hebben.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #include <sdio.h>;
#include <string.h>;
char string_array[][20] = {"regel1", "regel2"};
char *p;
typedef struct{
char array[20];
} TEST;
TEST test;
p = string_array[0];
printf("%s\n", p);
test.array = p;
printf("%s\n",test.array);
return 0; |
Wat gaat hier mis? De eerste printf geeft netjes "regel1"; de 2e alleen maar random bagger. De bedoeling is dus dat test.array netjes naar of string_array[X] wijst.
Wat ik eigenlijk eerst wilde doen is:
code:
1
| test.array = string_array[0]; |
Ik kwam erachter dat dat niet ging werken. fout was "incompatible types in assignment". De oplossing was of strcopy gebruiken of pointers. Waarbij pointers de voorkeur hebben.
[ Voor 72% gewijzigd door Gehakt op 15-11-2006 12:55 . Reden: Post is nog niet af drukte perongeluk op submit; moment ]