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
- type hint
- 가상환경
- openCV
- 프로그래머스
- 정보처리기사 c언어
- String Method
- javascript
- dataframe
- Algorithm
- queue
- aws jupyter notebook
- python
- pandas
- 알고리즘스터디
- Join
- 데이터시각화
- programmers
- 노마드코딩
- MySQL
- 백준
- 알고리즘
- 선그래프
- Selenium
- 알고리즘 스터디
- Matplotlib
- 코딩테스트
- NumPy
- Stack
- 파이썬
- 자료구조
Archives
- Today
- Total
조금씩 꾸준히 완성을 향해
[C 언어] 포인터 배열 본문
포인터 배열
- 배열의 요소가 포인터(메모리 주소)로 이루어진 것
기존의 배열
char a[3] = {'a', 'b', 'c'};
printf("%s\n", a); //abc
char *str = "HELLO";
printf("%s\n", str); //Hello
포인터 배열
char *student[3] = {"aaa", "bbb", "ccc"};
printf("%s", *(student+1)); //bbb
※ %s : 문자열 출력(주소값을 받아 null 값이 나올 때까지 모든 문자열을 출력)
<예제 1>
#include <stdio.h>
int main() {
char *array1[2] = {"Good morning", "C language"};
printf("%s\n", array1[0]+5); // %s - 문자열 출력: 주소값 받음 + null을 만날 때까지 모두 출력
printf("%c\n", *(array1[1]+6)); // %c - 글자 하나 출력
}
// morning
// u
<예제 2>
#include <stdio.h>
int main() {
int a[2][3] = {{-3, 14, 5}, {1, -10, 8}};
int *b[] = {a[0], a[1]};
int *p= b[1];
printf("%d ", *b[1]);
printf("%d ", *(++p));
printf("%d", *(--p-2));
}
//1 -10 14
<예제 3>
#include <stdio.h>
int main() {
int *arr[3];
int a=12, b=24, c=36;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
printf("%d", *arr[1] + **arr + 1);
}
// 37
※ 유튜브 흥달쌤 깨알 C언어 특강을 직접 정리한 내용입니다
'기타 언어 > C 언어' 카테고리의 다른 글
[C 언어] 배열 포인터 (0) | 2023.03.22 |
---|---|
[C 언어] 구조체(struct) (0) | 2023.03.22 |
[C 언어] 2차원 배열과 포인터 (0) | 2023.03.18 |
[C 언어] 배열과 포인터 (0) | 2023.03.18 |
[C 언어] scanf와 변수 (0) | 2023.03.18 |