C, C++
-
포인터와 배열C, C++ 2018. 12. 13. 11:46
배열은 배열 자체로 주소값 배열명 = 배열의 첫번째 방 주소값 array = &array[0]*array = array[0] char str [] = "korea"; "korea" 도 주소상수로 취급됨! char*p = str; 이지만...char* p = "korea"; 도 가능함 &array 는 엄밀하게는 2차원이지만 출력하면 &array[0]의 값이 출력됨그러나 대표하는 값이 다름 전자는 배열 전체의 대표주소값이고 후자는 배열의 첫번째 값의 주소값임 int iarr[5] = {1,2,3,4,5}; //배열의 포인터 표현 방식이 가능함! //printf("%d, %d\n", *iarr, iarr[0]); // iarr = &iarr[0], *iarr = iarr[0] // 주소연산은 +,- 밖에 안됨..
-
포인터C, C++ 2018. 12. 12. 18:45
포인터의 표기법 * 을 이용 ( *의 개수가 차원의 차수를 의미) _____좌_______= ______우_______대입연산자의 경우 좌 우의 차원이 동일해야 오류가 나지 않음!*이 붇으면 차원이 하나 올라감 1차원! 1. 선언하는 경우 (오른쪽에 붙여줌) : 차원을 높여줌예) int a = 2; (둘 다 0 차원임) int* ap= &a; (둘 다 1차원임-- 주소값을 의미함) 2. 실행하는 경우 (왼쪽에 붙여줌) : 차원을 낮춰줌 ap라는 포인터변수의 주소값의 위치로 찾아가서 그 주소값에 있는 값을 꺼내와라라는 뜻 예) printf(" %d" , *ap); ----> 포인터 변수 ap가 가지는 주소값으로 이동하여 그 주소값이 가리키는 값을 꺼내오니까 '2' 를 출력함 차원에 대한 이해 ? call ..
-
함수의 선언과 사용C, C++ 2018. 12. 12. 16:50
C언어에서는 함수를 아래와 같이 사용한다. #include int add(int, int); int multiple(int, int);선언부 - 제일 상단, 함수의 내용을 정의하지 않음 매개변수와 함수의 이름만을 선언: 컴파일러에게 함수를 선언하여 사용하겠다는 것을 알리는 역할 자바의 경우에는 JVM이 모두 선언과 정의를 해주기 때문에 할 필요가 없음 int main(){ int result = add(10,20); printf("result: %d\n", result); result = multiple(10,20); printf("result: %d\n", result);main 함수 ( 실행부) 함수의 사용은 여기서 이루어진다. int add(int a, int b){ int result = a+b;..
-
[IEEE 754] 부동소수점과 바이어스 표현법C, C++ 2018. 12. 12. 09:37
컴퓨터에서 실수를 표현하기 위해 사용하는 방법 IEEE 754(32bit), 부호부 1bit 지수부 8bit가수부 나머지bit -------------------------------------------------------------------------------------------------------------------------------------------------------1. 먼저 표현하고자 하는 소수(실수) 를 2진수로 변환한 후 소수점 앞의 숫자가 2보다 작아지도록 소수점을 이동시키고소수점 이동(부동소수점 : 부유하는 소수점 floating point)에 따른 2의 제곱승(-->지수부)을 곱해주어 아래와 같이 만든다 예) 1.001101 * 2^6 (
-
C의 자료형의 표현[java와 비교]C, C++ 2018. 12. 12. 09:05
자바의 자료형 정수 실수 참거짓 Byte(1), short(2) int(4) long(8) Char(2)à 음수표현불가 Float(4), double(8) Boolean(1) 참조 자료형 : 객체, 배열, Enum, Annotation , C자료형 정수 실수 참거짓 Char(1)à음수표현가능, short(2), int(4), Long(4) **unsigned형태의 4개가 더 존재 Float(4), double(8) 없음. 단 모든 비트가 0=false 모든비트가 0이 아니면 =true 하지만 대체로 1을 사용함 응용 자료형: 배열(구조체- class 유사), 함수, 포인터(주소값), 나열형(enum), 공용체(union) 주소값의 type은 unsigned int (stack에 쌓이는 주소값…) Char..
-
[20181207] 수의 체계2+ C언어 개요C, C++ 2018. 12. 7. 10:42
컴퓨터의 실수 표현 (정수가 아닌 유리수 - 소수/분수) 실수(IEEE 754)= Floating Point( 소수점이 계속 움직이기 때문에 부동소수점= 부유하는 동체인 소수점) * 실수는 영이 없다, 단 무한히 0에 수렴하는 수가 존재할 뿐(infinity)0.00000000000000.......... !=0 (0이 아님! 다만 무한히 작은 수라는 뜻) 0 .__ __ __ __10의 -1승, 10의 -2승... 계산의 편이를 위해서 소수점의 위치를 고정시키는 것으로 약속! double형(64bit) - Float(32bit) 보다 bit 크기가 크기 때문에 오류가 적기 때문에 소수의 기본형으로 사용! 부호비트(1bit) + 소수점 고정을 위해 곱해준 2의 개수를 표현한 bit(가수부) 7bit +...
-
20181206]C 툴 설치+ 수의 체계(비트 연산기본 설명)C, C++ 2018. 12. 6. 16:29
[tool 설치하기] 1) VSCode 다운로드https://code.visualstudio.com/ 2) MinGW 다운로드(gcc 컴파일러)https://sourceforge.net/projects/mingw/ -cstudy 폴더 만들기:소스코드 보관소 vs에서 폴더열기 해서 cStudy폴더 선택 - VS extension 설치 (Extention 에서 C/C++, Code Runner 설치 등 기타등등 )- MinGW 설치 후 Path 설정 (변수에 C:\MinGW\bin 경로 추가해주기 vs code 경로는 자동으로 들어가있지만 한번 확인해볼것!!)패스설정을 하지 않으면 run code 시 제대로 결과값이 실행되지 않는다. VS에서 파일 생성하기.c.cpp.java 확장자명을 적어주면 그거에 맞춰..