malloc(3)
-
혼자 연구하는 C/C++ 10장 정리(포인터)
1.포인터 연산T형 포인터포인터 - 메모리의 한 지점, 간단히 말해 번지값을 가지는 변수. (register형 제외) 변수는 반드시 메모리에 보관.임의의 타입 T가 있을 때 T형의 포인터 변수를 선언할 수 있다.*기호i = 3*4 - 곱하기 연산.printf("%d",*pi); - 포인터 변수가 가리키는 번지의 내용을 읽어옴.int *pi; - int와 pi를 곱하란 뜻 X. 포인터를 선언할 때 사용하는 구두점.int* pi 와 int* pi는 같음. 구두점 위치는 관계없음. int*pi, int * pi도 가능.단, 이런것들은 좀 문제.int *i, j; // i는 포인터, j는 정수형int* i, j; // i는 포인터, j는 정수형int *i, *j; // i와 j 모두 포인터C 스펙문서 - int..
2015.03.02 -
C와 C++의 차이점
1. C는 절차지향, C++ 객체지향?정확히 말하면 C++는 절차지향과 객체지향을 모두 가진 녀석이라고 한다.C++는 절차지향이면서 객체지향 컨셉으로 프로그래밍 언어이다.그러므로 이를 객체지향 언어니 절차지향 언어니 논하기는 어렵다.둘 다 되는것을 보고 어느 하나라고 말할 수 없다는 것이다. 2. #define vs constC에서는 상수를 사용할 때 자주 사용하는 #define은 전처리기로써메인 함수 밖에서 선언하여 사용한다.C++에선 const 키워드를 통해 메인 함수 내에서 변수를 상수화하여 사용할 수 있다. 3. bool논리타입인 bool이 생겼다. 1바이트로 0과 1을 출력한다. 4. 동적할당 malloc,free vs new,deletemalloc, free - stdlib 헤더의 표준 함수,..
2015.02.23 -
포인터 넘길 때 주의사항(malloc 예제)
1. 예제 user_malloc 함수를 통해 num의 포인터를 넘겨함수에서 동적할당하여 메모리를 확보한다. 1234567891011121314151617181920#include #include void user_malloc(num); void main(){ int* num = 0; user_malloc(num); *num = 8; printf("%d\n", *num); printf("%#p\n", num); printf("%p\n", num);} void user_malloc(int* m_num){ m_num = malloc(sizeof(int*));}Colored by Color Scriptercs 하지만 이렇게 하면 오류가... 일단 함수 내부에선 m_num이 메모리 확보가 잘 된다.하지만 num이..
2015.02.17