반응형

Computer Language 10

const *(포인터) 사용법

간단하게 예문으로 설명하도록 하겠다. int a = 12345; int* const val1 = &a; // 포인터를 상수화. a값 변경 O , 주소 변경 X const int* val2 = &a; // 값을 상수화. a값 변경 X, 주소 변경 O int const* val3 = &a; // 값을 상수화. a값 변경 X, 주소 변경 O const int* const val4 = &a; // 전부 상수화. int const* const val5 = &a; // 전부 상수화. /*결론 * 포인터 (*)를 기준으로 const가 * 포인터 (*) 왼쪽에 붙으면 가리키는 포인터의 값 변경이 불가능 하지만 가리키는 포인터 주소는 변경 가능. * 포인터 (*) 오른쪽에 붙으면 가리키는 포인터의 값 변경이 가능하지만 ..

Computer Language/C 2015.05.08

이클립스 설치와 사용 방법

이클립스(Eclipse) 가장 대표적인 자바의 개발도구이며, 통상 IDE라고 불리는 소프트웨어로 분류된다. IDE는 통합 개발 환경(Integrated Development Environment) 의 약자로, 개발에 필요한 다양한 도구들이 결합되어 있는 거대 소프트웨어를 포괄적으로 의미한다. 이클립스는 무료 오픈소스이고, 모든 운영체제를 지원한다. 그리고 Java 뿐만 아니라 다양한 언어를 지원하는 에디터가 존재 한다. 이클립스 설치 이클립스는 아래 사이트에서 각자의 운영체제에 맞는 버전을 다운로드 받으면 된다. http://www.eclipse.org/downloads/ 윈도우의 경우엔 별도의 설치 과정은 없고 압축파일을 풀고 실행파일을 실행하면 된다. 필자의 경우는 다운로드 받은 이클립스 파일을 자바..

Java 설치 및 실행

1. Java 설치 Java는 Oracle 홈페이지에서 다운로드 받을 수 있고, 각자 사용하는 OS에 맞는 버전을 다운로드 받아 설치하면 된다. http://www.oracle.com/technetwork/java/javase/downloads/index.html "실행" 에서 cmd 창을 열고 "Java"를 쳐보면 아래와 같이 나온다. 그리고 "javac"를 입력하면 다음과 같이 나오게 되는데, 이것은 java를 설치는 되었지만, 환경변수(Path) 설정까지는 해주지 못한 것이다. 일반적으로 명령어 "java"는 자바 프로그램을 실행 시킬 때 사용하는 명령어이고, "javac"는 사용자가 만든 java 프로그램 소스를 컴파일 할 때 사용하는 명령어다. 여기서 결론은 일반적으로 java 설치는 단순히 설..

alloc의 3가지 종류와 2차원 배열 동적할당

-alloc에는 3가지 종류 malloc, calloc, realloc 이 3가지의 alloc은 각각 기능의 장단점과 차이가 분명히 있다. 용도에 맞게 잘 사용하면 보약이고 그렇지 않다면 독약이 된다. 사용 방법을 간혹 잊어버릴 수 있으니 간단히 정리를 해 둘 필요성이 있어 포스팅 한다. 1. 배열의 동적 할당을 위한 malloc 대량의 데이터를 처리할 때 배열은 아주 유용하게 처리 되었다. 하지만 데이터의 특성에 따라 데이터의 길이가 동적인 경우가 있다. 하지만 배열은 한번 선언 하면 배열의 크기는 중간에 바꿀수가 없기 때문에 여유공간을 생각해서 넉넉히 큰 크기의 배열을 선언해서 사용하는 메모리 적으로 비효율적인 점이 있다. 이를 개선 하여 사용 할 수 있도록 해 주는 동적 배열이 있다. 동적배열은 m..

Computer Language/C 2013.12.27

[더블포인터, main 명령행 인자] 포인터의 포인터 그리고 main()의 명령행 인자.

더블포인터 포인터의 포인터는 다루는 대상체가 포인터인 포인터 변수를 뜻한다. ex) char **pptr; 포인터의 포인터 변수도 일종의 변수이므로 초기화가 무엇보다도 중요하다. ex) int one, *two, **three; one = 1; two = &one; three = &two; char = *pstr[3], **ppstr; ppstr = pstr; //배열은 주소값을 의미함으로 &를 붙일 필요 없다. ppstr = &pstr[0] //&를 붙인다면 배열의 첫번째 주소값을 해주면 위와 동일해진다. 여기서 three 는 포인터의 포인터 변수이므로 위와 같이 주소 값을 저장 할 수 있다. 만약 앞에 &를 붙인 &three 이면 포인터의 포인터 변수(three)의 할당된 메모리 주소를 뜻한다. *t..

Computer Language/C 2013.12.21

배열과 포인터배열의 관계

1차원 배열과 포인터 int pt[3]; 과 int *pt; 는 같다고 생각하면 된다. pt[0] = *(pt+0) pt[1] = *(pt+1) pt[2] = *(pr+2) 2차원 배열과 포인터 int pt[3][2]; = int *pt[2]; = int **pt; pt[0][0] = *(*(pt+0)+0) = **pt pt[0][1] = *(*(pt+0)+1) = *(*pt+1) pt[1][0] = *(*(pt+1)+0) = *(*(pt+1)) pt[1][1] = *(*(pt+1)+1) 결론 -> 포인터(포인터+중괄호) 는 대괄호 하나와 같다고 생각하자. *주의 : 포인터 배열을 사용할 땐 항상 주소값을 정해주고 사용하자. ex) 1차원 포인터 배열인경우. int a[3], *pt; pt = a; 2차..

Computer Language/C 2013.12.19

포인터의 기초

포인터란? 포인터는 번지에 대한 기호화된 표현을 말한다. 즉, 포인터는 번지이다. 포인터는 4바이트의 메모리를 할당 받는다. 포인터 변수에는 특정한 문자나 상수 값, 문자열이 들어가는 것이 아니라 바로 번지가 들어가는 것이다. 포인터 변수는 번지 이외에는 어떠한 것도 들어갈 수 없다. int *a = 5; 의 경우 warning이 발생한다. warning 이유 -> initialization makes pointer from integer without a cast [enabled by default] 쓰레기값 주소를 가진 포인터에 값을 넣어서 그런듯 하다. 포인터 변수 정의 #include int main() { //포인터 변수의 정의 int * Pointer; //변수의 type 오른쪽, 변수 이름의..

Computer Language/C 2013.10.23

Eclipse 를 이용한 Python 시작하기.

python은 설치 되어 있다는 가정하에 설명 하도록 하겠다.참고로 파이썬 설치는 그냥 홈페이지에서 다운로드 받아 설치 하면 된다.공식 홈페이지는 아래의 링크이다. http://www.python.org/download/ 그리고 리눅스에서의 설치는 아래 명령어로 하면 될 것이다. sudo apt-get install python *Tip. python 뒤에는 파이썬 버전 명이 올 수 있다. (ex> sudo apt-get install python2.7.5) 이클립스(Eclipse)는 참 유용하다. 플러그인 방식이기 때문에 c/cpp, java, android, python등 다양한 개발을 할 수 있다. 우선 이클립스가 작동 하기 위해서는 java가 설치 되어 있어야 한다. 오라클 홈페이지에서 자바를 다..

반응형