I was hoping someone could help explain to me the difference of the following functions declarations especially those with pointers:
Code:
void add_to_list(struct node **list, int n)
void myFunc(char *a, char *b)
void *myFunc(char *a, char *b)
void *myStruct(char a[], int b)
int Sum(int a, char b[])
void Sum(void)
How do you know when to return a value ??
How do you know when not to ??
(I know to use void when not returning a value)
What is happening with/in a function with a pointer to the function itself?? explain pointers to functions
(void *myFunc(char *a, char b)
explain what's happening with Pointers as arguments
Code:
void decompose(float x, int *int_part, float *frac_part)
{
*int_part = (int) x;
*frac_part = x - *int_part;
}
explain pointers to pointers
Code:
void add_to_list(struct node **list, int n) /* what does the **list mean /?? */
{
struct node *new_node;
new_node = malloc(sizeof(struct node));
if (new_node == NULL) {
printf("Error: malloc failed in add_to_list\n");
exit (EXIT_FAILURE);
}
new_node->value = n;
new_node->next = *list; /* what is *list pointing to */
*list = new_node;
}