728x90

동적할당 3

[ C++ ] 반환 자료형의 세가지 형태, 매개변수의 세가지 형태

[ C++ ] 반환 자료형의 세 가지 형태, 매개변수의 세 가지 형태 [매개변수의 세 형태] 값에 의한 전달 > 인수에 영향을 주지 못함 주소에 의한 전달 (포인터) 레퍼런스에 의한 전달 (레퍼런스) 한계 : 함수 호출 문을 보고 값에 의한 전달인지 레퍼런스에 의한 전달인지 모른다. const 레퍼런스를 사용하면 실 인수 변경이 불가능하다. 매개변수를 통한 변경을 방지할 때 사용할 수 있다. [반환 자료형의 세 형태] 1. 값에 의한 반환 (복사 반환) main() int x; int y; y = increment(x); int increment(int n){ n = n + 1; return n;} 2-1. 주소(*)에 의한 반환 (포인터 매개변수, 주소 값 반환) main() int x; int* y;..

C++ Programming 2021.11.06

[ 자료구조 ] linked list 연결 리스트 , k값을 가진 노드 삭제 삽입 함수

[ 자료구조 ] linked list 연결 리스트 , k값을 가진 노드 삭제 삽입 함수 리스트는 아무 곳에서나 삽입, 삭제가 일어날 수 있다. k값을 가진 노드 삭제 함수 데이터 값이 k인 노드를 찾는다. before : k값을 가진 노드의 앞 노드이다. temp : k값을 가진 노드이다. 이 알고리즘에서 찾는 삭제할 노드이다. before의 링크를 k값을 가지는 링크로 바꾼다. 그리고 반복문을 빠져나온다. #include #include struct node { int data; struct node * link; }; typedef struct node list_node; typedef list_node * list_ptr; void delete(list_ptr p, int k) { list_ptr ..

CS/자료구조 2021.10.29

[ 자료구조 ] 연결리스트를 만들기 위한 구조체 선언과 typedef 활용

[ 자료구조 ] 연결 리스트를 만들기 위한 구조체 선언과 typedef 활용 연결 리스트를 만들기 위해서는 자기 참조 구조체가 필요하다. 데이터를 저장할 필드가 있어야 하고, 다른 데이터 주소를 포인터로 가리키는 필드가 있어야 한다. 또한 이렇게 만들어진 구조체를 typedef 선언해 더 간단하게 표현할 수 있다. 정적 기억 장소에 데이터 저장 (활용도 낮음) struct node{ int data; struct node *link; } typedef struct node list_node; typedef list_node * list_ptr; list_node item1, item2, item3; item1.data = 10; item2.data = 20; item3.data = 30; item1.li..

CS/자료구조 2021.10.27
728x90