포인터 주소변수 크기에 대해 질문이 있습니다
연체리
질문 제목 :
포인터 주소변수 크기에 대해 질문이 있습니다
주소를 저장하는 변수는 앞에 써지는 int char doulbe 이런것에 상관없이 4byte를 갖는건 포인터 변수는 하나의 또 다른 자료형인가요?
그리고 왜 4byte인지도 궁금해요!
질문 내용 :
지난번의 1장에서 질문을 너무 명쾌하게 답변해주셔서 만족하며 오늘은 열혈강의 C 포인터 2장을 나갑니다 ^^
처음부터 궁금한게 나오는군요
1장에서는 char은 1 byte
int는 4byte, double은 8byte라고 나왔는데
char*의 크기가 4byte라고 나오더군요
char라는 자료형 선언은 1byte를 사용한다는 의미니까
char 주소를 저장하는거면 1byte로 저장되지 않을까?
라는 다소 엉뚱할수 있는 생각으로 한번 테스트를 해봤습니다
#include stdio.h
void main(){
int n;
int* g=&n;
char d;
char* v=&d;
double w;
double* a=&w;
printf(%d\n,sizeof(g));
printf(%d\n,sizeof(v));
printf(%d\n,sizeof(a));
}
전부 값이 4가 나와서 제 생각이 틀렸음을 알았죠.
여기서 제가 생각한건 1장에서처럼 선언하는 자료형에따라 주소형의 크기가 달라지는게 아니라
자료형은 전부 4byte로 일정한 값을 취하고 앞에 char나 int, double는 원래 자료형의 어떤 자료형인가를 알기 위해 써준다라고 결론을 내렸습니다.
그러면 여기서 의문이 하나 들었습니다 앞에 제가 주소를 저장하는 변수는 앞에 써지는 int char doulbe 이런것에 상관없이 4byte를 갖는다면 주소 변수 선언은 하나의 독립적인 자료형이라고 볼 수 있는것인가?
라는 것이죠
제가 머리속에 둥둥 떠다는 것들을 쓰다보니 자칫 잘못 생각하고 있는 것이나 제가 묻고자 하는게 무엇인지 모르겠다 하시면 과감히 지적해주세요
소중한 시간 내셔서 답변해주시는 분들 정말 감사합니다 ^^
-
밝은빛누리예
경문과 수다님께 정말 감사합니다 ^^
아직 명쾌하게 이해는 안갔지만 ㅎ 어떤 의미인지는 알겠어요 ㅎ!
명확하게 정의할수는 없지만 이거일것 같다는 실마리를 잡은 느낌이랄까요 ^^
아주 기쁩니다! c 언어 재미있네요 ^^ -
해까닥
포인터의 크기는 실행 대상 프로세서가 가지는 어드레싱 범위에 따라 결정됩니다. 그러나 X86-64의 경우는 포인터의 크기가 32-bit 혹은 64-bit 모두 될 수 있습니다 (64-bit mode에서 두가지 종류의 어드레싱을 지원합니다).
-
큐트
어떠한 집에 어떠한 놈이 살고 있을 때 어떠한 집의 주소의 길이와 어떠한 집에 사는 어떠한 놈의 키는 상관이 없지않습니까? 하하
-
보담
얕은 지식이긴 합니다만.. +_+;
어떤 자료의 포인터는 주소값을 갖게 됩니다.
주소값은 보통, 해당 컴퓨터의 프로세스(CPU)와 운영체제에 영향을 받습니다.
우선 CPU에.. 데이터나, 데이터의 주소를 값을 주고 받을 때 사용하는
버스나, 레지스트리 같은 것이 존재하는데.
그 중에 PC 라는 것의 크기가 일반적으로 다룰 수 있는 주소의 범위가 됩니다.
데이터나, 주소의 bit수가 다르기도 하지만..
보통은 주소로 사용되어지는 크기가 포인터의 크기
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695766 | 달팽이 배열 어디서 틀렸는지 모르겠습니다ㅠㅠ | 연분홍 | 2025-05-23 |
2695738 | fopen과fclose질문~~ (5) | 희선 | 2025-05-23 |
2695707 | 3의 배수 나타내기. (2) | 수리 | 2025-05-23 |
2695626 | 피보나치수열 과제 때문에 질문 드립니다. (6) | 옆집언니 | 2025-05-22 |
2695595 | 포인트공부중입니다 int형에서 4=1 인가요? (3) | 족장 | 2025-05-22 |
2695567 | 드라이브 고유번호를 가져오는 함수 (2) | 초코맛사탕 | 2025-05-21 |
2695533 | 음수의 산술변환! 질문이요 ㅠㅠ... (4) | 꽃여름 | 2025-05-21 |
2695506 | 구조체 배열 이용 도서목록 출력 프로그램 (1) | 가을귀 | 2025-05-21 |
2695450 | c언어 함수 질문이요.... | 이슬비 | 2025-05-20 |
2695403 | VirtualAlloc함수 및 메모리 질문 | 크리에이터 | 2025-05-20 |
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |