일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- matlab 영상처리
- 골빈해커
- pytorch zero to all
- object detection
- c++공부
- c언어 정리
- 미디언 필터링
- TensorFlow
- 모두의 딥러닝
- 파이토치 강의 정리
- MFC 프로그래밍
- 해리스 코너 검출
- 가우시안 필터링
- 케라스 정리
- 김성훈 교수님 PyTorch
- pytorch
- C언어 공부
- c언어
- Pytorch Lecture
- 컴퓨터 비전
- 파이토치
- 모두의 딥러닝 예제
- 딥러닝 스터디
- 딥러닝
- c++
- tensorflow 예제
- 영상처리
- 파이토치 김성훈 교수님 강의 정리
- 딥러닝 공부
- 팀프로젝트
- Today
- Total
ComputerVision Jack
[C프로그래밍 Chapter16] 본문
[구조체]
구조체
하나 이상의 변수를 묶어서 새로운 자료형을 정의하는 도구
구조체 기반으로 새로운 자료 정의 가능. 구조체 이름이 int나 double 처럼 자료형이된다.
struct type_name val_name;
#구조체 변수 선언의 기본적 형태
struct Sample{
char name[10];
int age;
};
#위처럼 구조체를 정의하고, struct Sample sp; 처럼 구조체 변수를 선언한다.
sp.age같이 구조체 내부에 접근이 가능하다.
구조체 멤버로 배열이 선언되면 배열의 접근 방식을 취하면 되고, 구조체의 멤버로 포인터 변수가 선언되면
포인터 변수의 접근 방식을 취하면 된다.
구조체 변수 선언 초기화.
구조체 변수 또한 선언과 동시에 초기화가 가능하다. 앞에서 정의한 Sample구조체에 대하여
struct Sample = {"홍길동", 27}; 이런식으로 선언과 동시에 초기화가 가능하다.
[구조체와 배열, 포인터]
구조체 배열의 선언과 접근
여러개의 구조체 변수를 선언 할때, 구조체 배열을 만들어서 정의한다.
struct Sampe arr[10]; 이런 식으로 구조체 배열을 정의한다.
구조체 배열의 초기화
구조체 배열을 초기화 할 경우, { } 중괄호를 사용한다
struct Sample arr[2] = {
{"홍길동", 27};
{"단군", 27};
{이순신", 28};
}
배열의 길이만큼 중괄호를 사용하여 표기한다.
구조체 변수와 포인터
struct Sample sp = {"홍길동", 27}; 구조체 변수를 선언과 동시에 초기화 한다.
struct Sample * ptr = &sp; 구조체 포인터 변수를 사용하여 구조체를 지칭한다.
age에 접근하고 싶은 경우. *(ptr).age = 20; 홍길동의 나이는 20이 된다.
* . 연산자를 묶어서 ->연산자로 표기가 가능하다.
따라서 위의 식은 ptr->age = 20;으로 변경이 가능하다.
구조체 내부엔 모든 변수가 다 들어 올 수 있다. 변수, 포인터형 변수, 배열, 구조체 자신까지
구조체에 포함된다.
구조체 변수의 주소 값은 구조체 변수의 첫 번째 멤버의 주소값과 동일하다.
'Programming Language > C Programming' 카테고리의 다른 글
[C프로그래밍 Chapter18] (0) | 2020.02.11 |
---|---|
[C프로그래밍 Chapter17] (0) | 2020.02.10 |
[C프로그래밍 Chapter15] (0) | 2020.02.05 |
[C프로그래밍 Chapter14] (0) | 2020.02.04 |
[C프로그래밍 Chapter13] (1) | 2020.02.03 |