1. ## "void"

hey, I'm back y'all
I got this question about "void". My book, which I like, is by some Herbert Schildt guy where I teach myself C.

He said this: "
If a function does not return a value, then it's type should be 'void"

See, now he used a function that only printed a statement out
like this

Code:
```void myfunc (void)
{
printf ("this is a test.");
}```
ok, now it does "return" that statment in the " ", but what does that mean. I understand some functions I create will punch out some number to be used by the program, so that would have to be something other than a "void" return type. So is it that "void" is basically used for functions or statement return-types?

just getting familiar. and if you could explain the "(void)", aka the "parameter-list", that would be cool too. thanks, I'll get back to my book.
listening to some old school michael jackson while I do this, that guy used to be a monster in music, tore it up.

2. see, check this, this is why I may not be understanding something. All this program does is covert your dollar amount you put in to pounds using a conversion factor of 2\$ per pound(britain money type, in case someone don't know).

Code:
```#include <stdio.h>

int convert(void);

int main(void)
{
int pounds;

pounds = convert();
printf( "That is %d pounds\n", pounds );

return 0;
}

int convert(void)
{
int money, pounds;

scanf( "%d", &money );
return money/2;
}```
see, well I just don't get it, there is a void for the parameteres of the function. I am having trouble understanding that in my mind, because it looks like my convert() function I made does return a value, that is, it returns "money/2"
I though void was only ok to use when you are NOT returning a value. Hmmm, I am very picky but I need to know and understand, thanks in advance peeps.

3. When void is used like so
Code:
`void function(int a)`
then it declares that function does not return a value to the calling function.
ok, now it does "return" that statment in the " ",
myfunc does not return a value to the calling function. It justs prints a string to stdin.

When void is used like this
Code:
`int foobar(void)`
it specifies that foobar takes no arguments

This might be a good time to read the FAQ if you haven't done so already, especially the part about int main() vs void main(). It'll save you getting mocked unmercifully later on

4. Type void can also be used with variables. For example

void *ptr;

declares a void-pointer. Such a pointer can be used to point to all other datatypes, therefore it is usually called a general pointer.

5. icarus(sounds like a video game name, I like it)

where is the link to what you are talking about here, I will maybe check out the tutorials on this site too

"This might be a good time to read the FAQ if you haven't done so already, especially the part about int main() vs void main(). It'll save you getting mocked unmercifully later on"