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
- 톰브라운 명품톰브라운 23SS 더블페이스 니트 아우터형 포켓 셔츠 MJT291A 07545 415
- 22FW 이바나 빈티지 체크 셔츠 더스트핑크 8054631
- 내셔널지오그래픽 피너스 빅로고 라운드넥 긴팔 티셔츠 카본 블랙
- 남쪽나무 세면대 세면대 세트 (스마트거울) 벽걸이세면대 이케아세면대 세면기
- 위드리빙 대용량 옷 수납 방수 바구니
- 긍정
- 리빙앤트리 펠리컨 박스 대
- 굿아이템 양면오픈형 투명 접이식 리빙박스 폴딩박스 옷정리함 수납박스 펜트리수납함
- 오토비 AZ100TR 32G 전후방 FHD 2채널 트럭 화물차 전용 블랙박스 보증기간 2년 20m케이블 포함 후방 적외선 방수 AS 2년보장
- 23SS 스트라이프 오버핏 셔츠 723033 V2L30 9066
- 삼성 갤럭시워치5
- 미네 리빙다이닝 6인 원목 코너형 식탁세트(소파형)
- 러버메이드 벤티드 브루트(75L) 원형 컨테이너 리빙박스
- list #pop #remove #del #append #insert #list형 #파이썬 파이썬 기본 문법 #파이썬 list
- 22FW 로고 패치 포켓 체크 셔츠 2F000 03 M2359 F41
- ChatGPT
- 두칸 프릴 오버핏 후드티
- 코멧 접이식 투명 리빙박스 56L 대형 2개입
- 1개
- 반스 올드스쿨 VN000D3HY28
- 더블탭스 22SS 정글 01 셔츠 WTAPS JUNGLE 01 GREIGE M
- 올리비아 스텐 세면대 세트
- 8052 블랙라인 정사각 세면기
- [제이앤제나] 허리에 무리없는 신생아부터 역류방지쿠션_앨리펀블루 역류방지쿠션
- ipTIME 유무선공유기
- 잡잡 NBR 요가매트 스탠다드 운동매트 10mm 퍼플
- 대림디움 대림바스플랜 PL-3070 탑카운터형 세면대/욕실/화장실/세면도기
- 샤오미 미밴드 7 스마트밴드
- 네스파 다야몬드은박 후드티
- 봄봄 골드라인 4023G 탑볼세면대 화이트골드 카운타 도기볼 카페세면대
Archives
- Today
- Total
냥집사의 개발일지
C언어 - void 포인터 (void Pointer) 본문
반응형
안녕하세요 오늘은 void 포인터에 대해 정리해보겠습니다.
포인터, 배열 포인터, 함수 포인터에 이어 마지막 포인터 챕터가 되겠습니다.
1. void 포인터 선언
void + 간접 참조 연산자 + 포인터 변수
ex) void *vp
#include <stdio.h>
int main(){
int x = 5;
void *vp;
vp = &x;
printf("x = %d\n",*(int *)vp);
return 0;
}
배열 포인터나 함수 포인터처럼 선언 방법이 어렵진 않지만
위의 코드에서도 알 수 있듯이 실제로 가리키는 값에 접근할 때 void 포인터의 자료형을 정해주어야 합니다.
위의 코드에서는 void 포인터 vp를 정수 포인터형으로 형 변환시킨 뒤 간접 참조 연산자로 x의 값에 접근하였습니다.
아래 결과에서도 vp가 정상적으로 5를 출력하는 것을 확인할 수 있습니다.
2. void 포인터 활용 방법
자료형이 정해져있지 않고 추후에 자료형을 형 변환을 통해 사용할 수 있기에
같은 구조에 자료형이 다른 경우 void 포인터를 활용할 수 있습니다.
#include <stdio.h>
int main(){
char x[6] = "Hello";
void *vp = x;
printf("%s\n", (char *)vp);
return 0;
}
1번 코드 양식 그대로 다만, vp의 자료형 형 변환을 통해 문자열을 출력했습니다.
void 포인터 Tips
1. void 포인터에는 임의의 주소를 저장할 수 있습니다.
2. void 포인터는 간접 참조 연산과 주소에 대한 정수 연산이 불가능합니다.
오늘은 void 포인터에 대해 정리해보았습니다.
void 포인터를 마무리로 포인터에 대한 정리는 마치도록 하겠습니다.
다음 포스팅에는 메모리 동적 할당에 관해 알아보겠습니다
감사합니다.
좋은 하루 보내세요~
'C언어' 카테고리의 다른 글
C언어 - 메모리 동적 할당 (calloc, realloc) (0) | 2022.09.21 |
---|---|
C언어 - 메모리 동적 할당 (malloc) (2) | 2022.09.20 |
C언어 - 함수 포인터 (Function Pointer) (0) | 2022.09.18 |
C언어 - 배열 포인터 (pointer to an array) (0) | 2022.09.17 |
C언어 - 이중 포인터 (Pointer to Pointer) (0) | 2022.09.16 |
Comments