반응형
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 |
Tags
- ISR
- LEC
- asynchronous fifo
- keynote 도형 회전
- LinkedList
- keynote 사용법
- cadence conformal eco
- Async FIFO
- c
- booth algorithm
- Cortex-M3
- 자료구조
- FIFO 설계
- i2c
- BSS
- Sync FIFO
- C언어
- keynote 도형 복사
- booth multiplier
- malloc
- ACK Polling
- lec check
- Keynote 표
- ARM
- 곱셈기 설계
- SPI mode
- keynote
- 연산 가속기 설계
- 비동기 FIFO 구조
- booth multiplier 설계
Archives
- Today
- Total
JINTBEAT Design Life
C언어 - 포인터와 배열 본문
반응형


%p는 포인터(주소)를 출력할 때 사용하고, 0x로 시작하는 16진수 주소를 반환한다. 포인터 변수에만 사용해야 한다.
위의 코드를 실행했을 때, 출력 결과를 보면 int형 배열요소간 주소 값의 차이가 4byte임을 알 수 있다.
또한 "배열의 이름은 배열의 시작 주소 값을 의미하고, 그 형태는 값의 저장이 불가능한 상수이다"
배열의 이름도 포인터이기 때문에, 배열의 이름을 피연산자로 하는 *연산(포인터 연산)이 가능하다.
ex) *pnum = 20; // pnum이 가리키는 변수에 20을 저장
[ code ]

[실행 결과]

💡 배열의 이름도 포인터라는 사실을 알 수 있다.
포인터를 배열의 이름처럼 사용할 수 도 있다.
- 배열의 이름과 포인터 변수는 변수냐, 상수냐의 특성적 차이가 있을 뿐, 둘 다 포인터이기 때문에 포인터 변수로 할 수 있는 연산은 배열의 이름으로도 할 수 있고, 배열의 이름으로 할 수 있는 연산은 포인터 변수로도 할 수 있다.
덧붙이면,
ptr[0] 과 *(ptr + 0)은 동일한 표현이다.
- ptr + 1 = ptr이 가리키는 타입의 1개 크기만큼 이동
- ptr[i] = *(ptr + i)와 동일, 타입 크기 고려
타입에 따라 주소 증가량이 다르다 : char : 1B, int : 4B, double : 8B (보통의 경우)
반응형
'🖥️ - C language' 카테고리의 다른 글
| C언어 - 포인터 배열 (0) | 2025.05.12 |
|---|---|
| C언어 - 포인터 연산 (0) | 2025.05.12 |
| C언어 - 포인터 (0) | 2025.05.10 |
| C언어 - 포인터의 포인터 (0) | 2025.05.09 |
| C언어 - Struct와 -> 연산자 (0) | 2025.05.09 |