Pointer Example: Pass by Value
#include <stddef.h> /* For definition of NULL */
/*
* Basic link list structure
*/
struct ll {
int data;
struct ll * next;
};
extern struct ll *thelist;
/*
* Note we pass in the structure
* This is called pass by value.
*/
struct ll
find_element(struct ll new_member)
{
struct ll *elem;
struct ll found_member = {
-1,
NULL
};
for (elem = thelist; elem != NULL; elem = elem->next) {
if (elem->data == new_member.data) {
found_member = *elem;
break;
}
}
return found_member;
}
next slide