C, C++/C Pointer
소개
![category 대표 이미지](https://blog.kakaocdn.net/dn/dWcW5z/btsDKdfFVll/efe2rEuS7DIdwREYOeLFyk/img.png)
-
Endianness : 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상(Byte)가 저장되는 순서(Byte order) CPU에 따라서 바이트의 숫자를 메모리 공간에 저장하는 방식에 있어 차이가 있습니다. 이해하기 쉽게 32비트 CPU란 가정하에 간략한 예를 들어보겠습니다. 숫자 1을 저장 할 때, 앞에서 부터 저장할 것인지, 뒤에서 부터 자장할 것인지 순서가 다릅니다. # 숫자 1 저장 예시 1 00000000 00000000 00000000 00000001 # 숫자 1 저장 예시 2 00000001 00000000 00000000 00000000 메모리와와 주소의 이해 데이터 최소 단위 1bit 컴퓨터 메모리의 데이터 최소 저장 단위 1Byte(8bit) 1bit를 저장해도 1byte ..
엔디안Endianness : 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상(Byte)가 저장되는 순서(Byte order) CPU에 따라서 바이트의 숫자를 메모리 공간에 저장하는 방식에 있어 차이가 있습니다. 이해하기 쉽게 32비트 CPU란 가정하에 간략한 예를 들어보겠습니다. 숫자 1을 저장 할 때, 앞에서 부터 저장할 것인지, 뒤에서 부터 자장할 것인지 순서가 다릅니다. # 숫자 1 저장 예시 1 00000000 00000000 00000000 00000001 # 숫자 1 저장 예시 2 00000001 00000000 00000000 00000000 메모리와와 주소의 이해 데이터 최소 단위 1bit 컴퓨터 메모리의 데이터 최소 저장 단위 1Byte(8bit) 1bit를 저장해도 1byte ..
2023.05.15 -
배열과 포인터는 연산자 & * [ ] 만 이해하면 된다. 그리고, 배열과 포인터는 다르다. 1. 필수 기반 지식 프로그래밍과 빌드, 실행의 이해 bit, Byte, 2진수, 16진수, 기본 자료형 이해 컴퓨터 실행의 기본 동작과 장치(cpu, memory, storage) 이해 함수와 스텍 메모리 이해 2. 포인터의 선언, 변수 사용, 역참조 구분 코딩 컨벤션(네이밍 룰) #include int main(void) { char cNum = 65; // char형 변수 cNum 선언 char *pVar1 = &cNum; // 포인터 변수 pVar 선언, char형 포인터 연산가능한 printf(" pVar1: %p\n", pVar1); // 포인터 사용, 변수명만 사용, 주소값 의미 printf("*pVa..
3 포인터와 배열배열과 포인터는 연산자 & * [ ] 만 이해하면 된다. 그리고, 배열과 포인터는 다르다. 1. 필수 기반 지식 프로그래밍과 빌드, 실행의 이해 bit, Byte, 2진수, 16진수, 기본 자료형 이해 컴퓨터 실행의 기본 동작과 장치(cpu, memory, storage) 이해 함수와 스텍 메모리 이해 2. 포인터의 선언, 변수 사용, 역참조 구분 코딩 컨벤션(네이밍 룰) #include int main(void) { char cNum = 65; // char형 변수 cNum 선언 char *pVar1 = &cNum; // 포인터 변수 pVar 선언, char형 포인터 연산가능한 printf(" pVar1: %p\n", pVar1); // 포인터 사용, 변수명만 사용, 주소값 의미 printf("*pVa..
2023.05.12 -
1. 포인터란? 1.1 포인터 포인터다. "가리킨다" 는 의미다. ( ☞ 메모리 공간) 메모리 주소를 저장하는 변수다. #include void main() { int n = 100; int* ptr_n = &n; printf("%d\n", n); // 100 : int n 출력 printf("%d\n", *ptr_n); // 100 : ptr_n 역참조 } 1.2 포인터 관련 연산자 * Asterisk, 애스터리스크 참조 연산자 주소 > 데이터 참조 & Ampersand, 앰퍼센드 주소 연산자 메모리의 첫 Byte 주소 참조 연산자와, 주소 연산자다. 연산자다. ++ 연산자처럼, &, * 도 변수에 작용하는 연산자다. #include void main() { int n = 100; int* ptr_n ..
2. 포인터1. 포인터란? 1.1 포인터 포인터다. "가리킨다" 는 의미다. ( ☞ 메모리 공간) 메모리 주소를 저장하는 변수다. #include void main() { int n = 100; int* ptr_n = &n; printf("%d\n", n); // 100 : int n 출력 printf("%d\n", *ptr_n); // 100 : ptr_n 역참조 } 1.2 포인터 관련 연산자 * Asterisk, 애스터리스크 참조 연산자 주소 > 데이터 참조 & Ampersand, 앰퍼센드 주소 연산자 메모리의 첫 Byte 주소 참조 연산자와, 주소 연산자다. 연산자다. ++ 연산자처럼, &, * 도 변수에 작용하는 연산자다. #include void main() { int n = 100; int* ptr_n ..
2023.05.12 -
포인터는 C 언어의 꽃이다. 1. 시작하기 1.1 C 언어의 난이도 C, C++ 언어는 상대적으로 어렵다. 학생들이 기피하여 줄어들자 교육기관에서 가르치는 공급도 줄었다. 현역은 현업이 돈을 더 많이 벌게 되어 가르칠 이유가 없어졌다. 가르치는 것과 이해하고 사용하는 것은 다른 분야이기에 교육의 질도 떨어졌다. C, C++ 이 작은 프로그램 구현을 위해 배워야 하는게 100이라면, C#, Java, Python의 경우는 절반 정도다. 하지만, C#, Java, Python 같은 얼핏 쉬워 보이는 언어도, 결국에는 C, C++의 100만큼 다 공부해야 한다. 결국 개발자는 컴퓨터의 소프트웨어와 하드웨어의 동작 구조를 알아야 한다. 매를 먼저 맞느냐, 나중에 맞느냐 차이다. C, C++ 로 먼저 맞는게 낫다..
1. 포인터포인터는 C 언어의 꽃이다. 1. 시작하기 1.1 C 언어의 난이도 C, C++ 언어는 상대적으로 어렵다. 학생들이 기피하여 줄어들자 교육기관에서 가르치는 공급도 줄었다. 현역은 현업이 돈을 더 많이 벌게 되어 가르칠 이유가 없어졌다. 가르치는 것과 이해하고 사용하는 것은 다른 분야이기에 교육의 질도 떨어졌다. C, C++ 이 작은 프로그램 구현을 위해 배워야 하는게 100이라면, C#, Java, Python의 경우는 절반 정도다. 하지만, C#, Java, Python 같은 얼핏 쉬워 보이는 언어도, 결국에는 C, C++의 100만큼 다 공부해야 한다. 결국 개발자는 컴퓨터의 소프트웨어와 하드웨어의 동작 구조를 알아야 한다. 매를 먼저 맞느냐, 나중에 맞느냐 차이다. C, C++ 로 먼저 맞는게 낫다..
2023.05.12