336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. 포인터 변수는 메모리 주소를 기록하는 공간 입니다.

2. * (애틸리스크) 를 자료형과 변수이름 사이에 넣습니다.

3. 자료형에 상관없이 포인터는 32bit 시스템에서 4Byte, 64bit 시스템에서 8Byte 공간을 차지 합니다

4. &(앤퍼센트) 는 변수 이름에 앞에 붙이면 주소값을 말합니다. 그래서 주소 연산자라고 부르기도 합니다.



소스코드 : main.c

#include <stdio.h>


int main(void)

{

char *pCharPointer = NULL;

short *pShortPointer = NULL;

long  *pLongPointer = NULL;

int *pIntPointer = NULL;

__int8 *pInt8Pointer = NULL;

__int16 *pInt16Pointer = NULL;

__int32 *pInt32Pointer = NULL;

__int64 *pInt64Pointer = NULL;

float *pFloatPointer = NULL;

double *pDoublePointer = NULL;



printf("char 의 포인터 변수의 크기 : %d Byte \n", sizeof(pCharPointer));

printf("short 의 포인터 변수의 크기 : %d Byte \n", sizeof(pShortPointer));

printf("long 의 포인터 변수의 크기 : %d Byte \n", sizeof(pLongPointer));

printf("int 의 포인터 변수의 크기 : %d Byte \n", sizeof(pIntPointer));

printf("__int8 의 포인터 변수의 크기 : %d Byte \n", sizeof(pInt8Pointer));

printf("__int16 의 포인터 변수의 크기 : %d Byte \n", sizeof(pInt16Pointer));

printf("__int32 의 포인터 변수의 크기 : %d Byte \n", sizeof(pInt32Pointer));

printf("__int64 의 포인터 변수의 크기 : %d Byte \n", sizeof(pInt64Pointer));

printf("float 의 포인터 변수의 크기 : %d Byte \n", sizeof(pFloatPointer));

printf("double 의 포인터 변수의 크기 : %d Byte \n", sizeof(pDoublePointer));

return 0;

}


결과:


1. 32bit 플랫폼




2. 64bit 플랫폼




 #c언어, #c언어입문, #프로그램입문, #포인터,#pointer,#포인터크기,#포인터개념

 


'Programing - C > C Basic grammar ' 카테고리의 다른 글

099 포인터 배열  (0) 2017.08.04
098 Call by Reference & Call by Value  (0) 2017.08.04
096 memset  (0) 2017.08.04
095 memmove_s  (0) 2017.07.28
094 memcmp 두메모리 비교  (0) 2017.07.28
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 :

1. 주소를 값을 가르키는 것을 포인터변수라 한다.

2. *(애틀리스크) &(엔퍼센트) 기호를 사용한다.


* 가르키다로 해석하세요

& 주소는 으로 해석합니다.



소스코드 : main.c

#include <stdio.h>


int main(void)


{

int nValue = 14;


int* pValue1 = NULL; //0

int* pValue2 = &nValue;


pValue1 = &nValue;


printf("%d, %d, %d, %d, %d, %d \n", nValue, *pValue1, *pValue2, &nValue, pValue1, pValue2);




return 0;

}



아직은 조금 익숙하지 않아서 이게 머야 할수 있는 포인터 입니다 ㅎ


많은 분들이 이 개념에서 무너지고 좌절합니다. 하지만


그렇게 어렵지 않습니다.


입문과 개념이기 때문에 살짝 이야기 하려합니다.


첫번째 pValue1 은 선언을하며 0으로 해줍니다.


포인터 변수는 무저건 선언과 동시에 무엇으로든지 초기화


해줘야한다 기억하셔야합니다!!


그리고 변수를 나중에 nValue의 주소값을 복사합니다.


두번째 pValue2 은 선언과 동시에 초기화를 해줍니다.


어떤 변수든 선언과 동시에 초기화할때는 저형태를 취합니다.


변수타입 변수이름 = 초기화 내용


결과




#프로그램입문, #c언어입문, #c언어, #포인터, #포인터입문

'Programing - C > C Basic grammar ' 카테고리의 다른 글

042 NULL 포인터 이해하기  (0) 2017.07.27
tack rest 01 ( 로또 프로그램 )  (0) 2017.07.27
040 메모리 이해하기  (0) 2017.07.27
039 배열 이해하기  (0) 2017.07.27
038 문자열 이해  (0) 2017.07.27

+ Recent posts