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
- python
- 코딩테스트
- pandas
- type hint
- NumPy
- openCV
- 자료구조
- Stack
- Selenium
- 데이터시각화
- 파이썬
- 노마드코딩
- Matplotlib
- 정보처리기사 c언어
- Join
- queue
- Algorithm
- 선그래프
- 가상환경
- String Method
- javascript
- dataframe
- 알고리즘 스터디
- aws jupyter notebook
- programmers
- 알고리즘스터디
- 알고리즘
- 백준
- MySQL
- 프로그래머스
Archives
- Today
- Total
조금씩 꾸준히 완성을 향해
[C 언어] 배열과 포인터 본문
배열과 포인터의 관계
int a[5];
int *b = a;
a[2] = 10;
b[2] = 20;
<예제 1>
#include <stdio.h>
int main() {
int i;
int a[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
int *ptr = a+3;
for(i=0; i<5; ++i){
printf("%d ", *(ptr+i)-3);
}
}
// 출력: 37 47 57 67 77
<예제 2>
#include <stdio.h>
int main() {
int a[] = {1, 2, 4, 8};
int *p = a;
p[1] = 3;
a[1] = 4;
p[2] = 5;
printf("%d %d\n", a[1]+p[1], a[2]+p[2]);
return 0;
}
//출력: 8 10
※ 주의!
- 만약 int *p = a+1; 이라면?
p[1] 의 값은 a[2]의 값인 5
p[2] 의 값은 a[3]의 값인 8
<예제 3>
#include <stdio.h>
int main() {
int a[4] = {10, 20, 30};
int *p = a;
p++;
*p++ = 100;
*++p = 200;
printf("a[0]=%d, a[1]=%d, a[2]=%d\n", a[0], a[1], a[2]);
}
//출력: 10 100 30
<예제 4>
#include <stdio.h>
int main() {
int num[4] = {1, 2, 3, 4};
int *pt = num;
pt++;
*pt++ = 5;
*pt++ = 10;
pt--;
*pt+++=20;
printf("%d %d %d %d", num[0], num[1], num[2], num[3]);
}
//출력: 1 5 30 4
※ 유튜브 흥달쌤 깨알 C언어 특강을 직접 정리한 내용입니다
'기타 언어 > C 언어' 카테고리의 다른 글
[C 언어] 포인터 배열 (1) | 2023.03.21 |
---|---|
[C 언어] 2차원 배열과 포인터 (0) | 2023.03.18 |
[C 언어] scanf와 변수 (0) | 2023.03.18 |
[C 언어] 포인터(pointer) (0) | 2023.03.18 |
[C 언어] 배열 (1) | 2023.03.17 |