dev, tech/c, c++18 포인터 #2 ( 구조체를 가리키는 포인터 ) 구조체를 가리키는 포인터 struct coord{ int x; int y;}; struct coord c, *cptr;....cptr = &c; c는 coord형의 구조체이고 cptr은 coord형의 구조체를 가리키는 포인터이다. 이 둘은 멤버를 참조하는 방식이 다르다. c의 멤버를 참조하는 방법은 다음과 같다. c.x = 100; c,y = 150; 하지만, cptr의 멤버를 참조하는 방법은 다음과 같다. cptr->x = 100; cptr->y = 150; '->' 연산자의 좌변에는 반드시 구조체의 포인터형이 되어야함을 잊지말자. 2006. 4. 6. 포인터 #1 포인터: 주소를 내용으로 가지는 변수 포인터의 구성 요소 1. 내용 : 주소 2. 가리키는 주소에 저장되어 있는 데이터의 형(data type) - 포인터 연산시 주소가 옮겨질 양을 결정하기 위해서 필요함. - 데이터 형이 없는 포인터 : void 포인터 예) int * iptr; int형의 자료를 가르키는 주소이다. 이는 int형이라는 것이 아니다. (중요) 포인터 연산자 &: 변수의 주소를 구하는 연산자 ( address of ) *: 가리키는 주소의 내용을 참조 ( dereference ) / 포인터의 정의에 쓰임 +,-: 현재의 주소에 가리키는 데이터형을 참조하여 주소를 옮겨줌 ->: 구조체의 포인터와 작용해서 구조체의 포인터의 멤버들을 지정하게 함 2006. 4. 6. 구조화 프로그래밍 (Strcutured Programming) 모든 프로그램은 단 세가지의 제어 구조만으로 표현 가능하다라는 것이 증명됨으로써 시작되었다. - 처리, 판단, 반복 처리 : 단순히 위에서 아래로 내려가는 제어 구조 판단 : 진위 값 판단에 의거하여 제어가 옮겨지는 구조 반복 : 조건이 만족할 동안 계속 특정 부분을 반복 수행하는 구조 이는 GOTO문에 의해 먼 곳으로 훌쩍 뛰어버리는 경우가 없이 제어가 인접한 곳으로이동이 되며, 그 의미도 분명해진다는 장점이 있다. 예 : PASCAL, C 2006. 4. 6. 스파게티 코드 제어 구조의 원시적 형태로 인해 GOTO문이 남발하게 된다.그래서, 프로그램의 제어 구조가 마치 스파게티의 면발이 꼬여 있는 것처럼 복잡하다고 해서 이런 프로그램들을 '스파게티 코드'라고 한다. ------------------------------------내 코드도? ㅎㅎ 2006. 4. 6. 이전 1 2 3 4 5 다음