Pointer Example: Pass by Reference


#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 a pointer to the structure
 * This is called pass by reference.
 */
struct ll *
find_element(struct ll *new_member)
{
	struct ll *elem;
	struct ll *found_member = NULL;

	for (elem = thelist; elem != NULL; elem = elem->next) {
		if (elem->data == new_member->data) {
			found_member = elem;
			break;
		}
	}
	return found_member;
}

next slide