KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
i'm quite familiar with Java, not so in C. In Java, if i have a method that does something and returns a String, it would look like: private String doSomething(...) { String s; // do something; return s; } The syntactic equivalent in C would not work and is plain wrong: char* doSomething(...) { char s[100]; // do something; return s; } of course i can do: char* doSomething(...) { char *s; s = malloc(100 * sizeof(char)); // do something; return s; } which would work (i think!) but i seldom see codes doing this way (is it because it's unnecessarily filling the heap?) most commonly, i see: bool doSomething(char *s) { // do something that copies chars to s return true; } And the calling statements would be: char s[100]; doSomething(s); What if I do not know the size of the char array until inside the function itself? i.e. I would not be able to declare the char array outside the function and then pass it in. What would be the correct way to deal with such a scenario?
Tags (comma-separated)
Save Edits
Cancel