C언어 함수포인터에 대해서...

lhs8421478의 이미지

안녕하세요 C언어를 공부하고 있는 청년입니다.

함수 포인터에 대해서 질문을 좀 하려고 글을 올립니다..

node *node_str_find (node **node_head)
{
	char find_data[256];
	node *node_ptr;
	int find_count;
 
	find_count = 0;
 
	if (node_head == NULL) {
		printf("no data .. printf\n");
		return;
	}
 
	node_ptr = *node_head;
	memset(find_data, 0x00, sizeof(256));
	printf("검색하실 data를 입력해주세요 : ");
	scanf("%s", find_data);
 
	while (node_ptr != NULL) {
		if (!strcmp(find_data, node_ptr->name) || 
				!strcmp(find_data, node_ptr->address)) {
			node_target_print(&node_ptr);
			find_count++;
			break;
		}
	node_ptr = node_ptr->next;
	}
 
	if (find_count == 0) {
		printf("검색 결과가 없습니다. \n");
	}
 
	return node_ptr;
}

위와 같이 함수를 구성하였는데요....

node *node_ptr;
node_del = node_str_find(node_head);

사용은 이런식으로 했구요....

문제는 제가 함수 포인터에대한 개념이 너무 없다보니

그냥 node를 리턴하기 위해서 저렇게 썼던건데 자세히좀 알고 싶어서 이렇게 글을 올리게 되었습니다.

많은 도움 부탁 드립니다 ㅠㅠ

lhs8421478의 이미지

사용하는곳에서
node *node_ptr이 아니고 ;; node *node_del입니다 ;;

klara의 이미지

질문이 뭔가요? 적으신 코드는 함수 포인터와 전혀 상관없어 보입니다.