Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 전류
- 딥러닝
- C언어
- ultrasonic
- 주저리 주저리
- c++
- 열심히 하자
- 전기의 기본 성질
- 포인터란
- 거리 측정 회로
- 포인터
- 동적할당
- 앰보싱
- 2차 배열 코드
- 초음파 회로
- 포인터 쓰는 이유
- 코딩
- 머신러닝 기초
- 비지도학습
- 사진수정
- 첫 수업에서 배운 내용
- 머신러닝
- 2차배열
- svm
- 지도학습
- 이미지 처리
- 신경망
- 화소점
- orcad
- 고민이 많다...
Archives
- Today
- Total
매일공부
포인터/배열 본문
1. 포인터란
- 다른 변수, 변수의 메모리 공간 주소를 가리키는 변수를 말한다.
- 포인터가 가리키는 주소를 가저오는 것을 역참조라 한다.
- C, C++, 등 하위 레벨까지 제어 가능
- int > 정수형 변수 | char > 문자형 변수 |포인터> 포인터 변수(변수의 주소)
#include <stdio.h>
void main() {
char ch;
char* p;//문자형 변수와 포인터 변수를 선언
ch = 'A';
p = &ch;//문자 'A'를 ch에 대입하고 ch 의 주소를 p에 대입한다.
printf("ch가 가지고 있는 값: ch > %c \n", ch);//ch 가 가지고 있는 값 결과: A
printf("ch가 가지고 있는 값: ch > %d \n", &ch);//ch의 주소 &ch 결과: 100
printf("ch가 가지고 있는 값: ch > %d \n", p);// p가 가지고 있는 값 결과: 100
printf("ch가 가지고 있는 값: ch > %c \n", *p);//p가 가리키고 있는 곳의 값 결과 p
}
- 현재 ch 의 주소는 100이다.(ch는 a라는 값을 가지고 있다.)
- p의 주소는 어디여도 상관 없다. 100238989번지 일 수도 있고 128478 일 수도 있다.
- 여기서는 설명을 위해 102~105번지에 p가 있다고 했다.
- 중요한 것은
- ch의 주소는 100이다(("%d",&ch)를 통해 주소를 알 수 있다.)
- p가 가지고 있는 값은 ch의 주소와 동일한 100이다
(단순히 포인터 변수인 p의 값을 출력했을 때 가리키는 주소가 출력된다.) - 가리키는 곳의 값을 확인할 수 있다.(*p 를 통해 주소 100이 실제로 가지는 값을 출력할 수 있다.)
- 이러한 사항을 알아둔다면 간단한 포인터의 정의를 알 수 있을 것이다.
2.포인터를 왜쓰는가?
- 우리가 남의 집을 갈 때 주소를 알아야 갈 수 있고 그 주소를 찾아 헤매야한다.
- 포인터는 이를 쉽게 만들어준다. 직접 찾아야하는 주소를 우리가 알려줌으로서 용량 및 처리시간에 이득을 준다.
또한 배열에서도 포인터는 빈번하게 쓰이는데 ... 이는 다음에 알아보자 !!
'임베디드 개발자 > 코딩' 카테고리의 다른 글
C언어 기반 영상처리 프로젝트 (1) | 2022.02.05 |
---|---|
포인터_포인터와 배열 (0) | 2022.01.25 |
이미지 처리 (0) | 2022.01.19 |
1월 18일 간단한 코드 연습과 서식/연산자 (0) | 2022.01.19 |
간단한 컴퓨터 설명 _1월 17일 (0) | 2022.01.17 |