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
- NumPy
- queue
- 자료구조
- aws jupyter notebook
- 알고리즘스터디
- 프로그래머스
- Join
- Selenium
- programmers
- javascript
- 알고리즘 스터디
- dataframe
- 정보처리기사 c언어
- Stack
- String Method
- 데이터시각화
- MySQL
- Algorithm
- 알고리즘
- python
- Matplotlib
- 백준
- pandas
- 파이썬
- openCV
- 노마드코딩
- 가상환경
- type hint
- 코딩테스트
- 선그래프
Archives
- Today
- Total
조금씩 꾸준히 완성을 향해
[C 언어] 배열 포인터 본문
배열 포인터
▶example 1
int (*in)[2]; //배열포인터 생성: (논리적으로) 배열을 2개씩 자름
int num[3] = {1,2,3};
in = num;
printf("%d\n", in); //100(주소값이 100이라고 가정)
printf("%d\n", num); //100
printf("%d\n", *in); //100
printf("%d\n", **in); //1
printf("%d\n", *(*in+1)); //2
printf("%d\n", *(*in+2)); //3
printf("%d\n", *in[1]); //3
▶example 2
int (*in)[4]; //배열포인터 생성: (논리적으로) 배열을 4개씩 자름
int num[3][3] = {1,2,3,4,5,6,7,8,9};
in = num;
printf("%d\n", **in); //1
printf("%d\n", *(*in+1)); //2
printf("%d\n", **(in+1)); //5
<예제>
#include <stdio.h>
#include <stdlib.h>
#define N 3
int main(void){
int (*in)[N], *out, sum=0;
in = (int (*)[N]) malloc(N * N * sizeof(int));
out = (int *)in;
for(int i=0; i < N*N; i++) out[i] = i;
for(int i=0; i < N; i++)
sum += in[i][i];
printf("%d", sum);
return 0;
}
// 12
▶ molloc: 동적으로 메모리 할당
▶ sizeof(int) = 4byte (이 문제에선 크게 신경 x)
※ 유튜브 흥달쌤 깨알 C언어 특강을 직접 정리한 내용입니다
'기타 언어 > C 언어' 카테고리의 다른 글
[C 언어] 함수 주소 전달 & 주소 리턴 (0) | 2023.03.26 |
---|---|
[C 언어] 함수 (0) | 2023.03.22 |
[C 언어] 구조체(struct) (0) | 2023.03.22 |
[C 언어] 포인터 배열 (1) | 2023.03.21 |
[C 언어] 2차원 배열과 포인터 (0) | 2023.03.18 |