i'm just wondering when it's ok to use a declaration such as char *string; instead of something like char string[BUFSIZ]; because when I try to store user input into the first one it has a tendency to give me trouble. but the second one works fine. as far as i know the first one doesn't assign any memory to the pointer because it doesn't know how much, but i have seen plenty of code that doesn't use anything like malloc to assign memory before storing strings, so why am i having problems? if it matters, i'm on windows 2k pro using dev-cpp 4.9.8.9