성엽이
KKIMSSI
성엽이
전체 방문자
오늘
어제
  • 분류 전체보기 (454)
    • :) (2)
    • C프로그래밍이론 (9)
    • C++프로그래밍 (64)
      • STL (1)
    • C# (2)
    • Visual studio 10.0 (9)
    • AT91SAM7S256 (21)
    • 논리회로 (14)
    • AVR2560 (11)
    • TCPIP (16)
    • NetWork (4)
      • Ubuntu Linux (2)
    • Assembly (21)
    • UNIX 프로그래밍 (6)
    • RFID 분석 (1)
    • Win32 API (7)
    • Cortex-M3 (4)
    • Unity (91)
    • Flutter (9)
    • OwnProject (11)
      • It's mine (5)
      • 마인드스톰 실습 (1)
      • 보고서 자료 (2)
      • RPi B+ (2)
    • ETC (25)
      • 상식 (3)
    • MFC (40)
    • PostgeSQL (18)
    • 영상제어 (6)
      • VFW_영상처리 (1)
    • Python (0)
    • Java (30)
      • SpringBoot (2)
      • Javascript (1)
      • JSP (13)
      • Spring (8)
    • Oracle (4)
      • SQL (3)
    • HTML (6)
      • Thymeleaf (1)
      • CSS (1)
      • Bootstrap (3)
    • IDE (1)
      • VS Code (1)
    • Android (2)
    • Privacy Policy (0)
    • MYSQL (2)
      • MariaDB (2)
    • AWS (5)
    • 개인공부 (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • 관리자
  • 글쓰기

공지사항

인기 글

태그

  • Boot Code 분석
  • WINAPI
  • ARM Reverse Engineering
  • 문자열 나누기
  • MFC

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
성엽이

KKIMSSI

C++프로그래밍

2013.04.17_구조체 포인터변수사용

2013. 4. 17. 16:40

▶ 구조체 포인터 변수


#include < stdio.h >
#include < math.h >

typedef struct
{
  int x;
  int y;  
}POINTER;
  
double distance(POINTER *p1, POINTER *p2);
      // 아무리 구조체의 byte 수가 많아져도 포인터를 사용하면
      // 4 byte 씩만! 사용하므로 상당히 효율적이다!


int main()
{
  POINTER p1;
  POINTER p2;

  printf("please enter x & y coordinate : ");
  scanf("%d   %d", &p1.x, &p1.y);
  printf("please enter x' & y' coordinate : ");
  scanf("%d   %d", &p2.x, &p2.y);

  printf("distance : %6.3f\n", distance( &p1, &p2 ));

  return 0;
}


double distance(POINTER *p1, POINTER *p2)
{
  int square1;
  int square2;
  
  square1 = (p2->x-p1->x)*(p2->x-p1->x);
  square2 = (p2->y-p1->y)*(p2->y-p1->y);
  return(sqrt(square1 + square2));

}
  
 



 Exp : 구조체안에 있는 변수를 사용하려면 st1이 일반적인 변수라면 도트연산자(.) 아래의

ex) st1.age = 20; 

이런식으로 쓰지만 일반적인 변수가 아닌 포인터변수를 사용하면 화살표로찝어준다는 느낌으로 

화살표를 쓴다.(->)

ex) st1->age = 20; 

화살표를 도트로 쓰려면 (*st1).age = 20; 으로 써도 똑같다.


--------

9_8.c

--------

저작자표시 (새창열림)

'C++프로그래밍' 카테고리의 다른 글

2013.04.19_연결리스트의 구조  (0) 2013.04.19
2013.04.18_연결리스트_동적자료형/정적자료형  (2) 2013.04.18
2013.04.16_C언어_구조체  (0) 2013.04.16
2013.04.15_구조체_메모리관리  (0) 2013.04.15
2013.04.12_메인함수_임베디드약간  (0) 2013.04.12
    'C++프로그래밍' 카테고리의 다른 글
    • 2013.04.19_연결리스트의 구조
    • 2013.04.18_연결리스트_동적자료형/정적자료형
    • 2013.04.16_C언어_구조체
    • 2013.04.15_구조체_메모리관리
    성엽이
    성엽이

    티스토리툴바