본문 바로가기

C언어

C언어 구조체

반응형

이번 시간은 구조체에 대해서 배울 것이다!!

 

사실 구조체는 C++에서는 클래스와 매우 유사하다.

 

기억을 더듬어보면... 구조체보단 클래스를 엄청 썻던 기억이!!!

 

 

 

 

여기서 보면 알 수 있듯이 struct studnet는 구조체이다.

 

그래서 이거를 변수 s로 할당시키고

 

s.number으로 구조체에 있는 number에 넣는다.

 

그리고 strcpy로 홍길동도 넣고 하면 

 

잘 나오는 걸 확인할 수 있다!!!

 

 

%s는 문자열 그대로 받는것이고

 

%lf는 double형일때 쓰인다.  *float은 %f로 쓰인다. scanf에서

 

근데 보면 number나 grade는 & 주소값 따른는데 name은 주소값이 아니라 그냥

 

입력이어서 s.name을 쓴 것을 알 수 있다. 이거 좀 주의해야 할 듯!!

 

 

 

이렇게 나온다 ㅎㅎ

 

다음은 두 점 사이의 거리를 나타내는 법이다.

 

 

 

구조체가 빛을 발하는 순간!!

 

여기서 보면

 

struct point{

int x;

int y;

}

 

x,y 좌표를 나타내는 point 구조체가 생성되었다.

 

main에서 변수 point 구조체의 변수 p1, p2를 잡고

 

즉 그러니까 경우의 수가 총 4개다. p1-x, p1-y , p2-x , p2-y

 

이것의 차이를 알아야 하니 int xDiff, yDiff; 를 또 생성했다.

 

 

Double 형인데 왜 %lf 안써요? 이런 분들도 있을 것이다. 

 

하지만 그건 scanf일때이고 printf때는 상관없다~!!

 

sqrt는 루트 말하는거고 . #include <math.h> 헤더파일을 불러와야 사용가능하다.

 

 

 

완벽하게 나온다!

 

 

구조체 기초 끝!!

반응형

'C언어' 카테고리의 다른 글

C언어 동적 메모리 할당  (0) 2022.07.18
C언어 구조체의 활용(2)  (0) 2022.07.18
C언어 문자열  (0) 2022.07.18
C언어 포인터  (0) 2022.07.18
C언어 다차원 배열  (0) 2022.07.18