목록⚙️Computer System (149)
코드네임 :

왜 10진수를 사용하지 않고 2진수를 사용할까요??ㄴ 그거슨 2진수가 보관에 용이, 산술함수의 간단한 구현, 안정적으로 전송 이 가능하기 때문 N비트로 2의 N승개의 것들을 표현가능!! 2진수 0b 로 시작8진수 016진수 0x 예.. 진수 변환법 다 까먹었네유..⬇️ 진수 변환법 참고 블로-그https://mingtrace.tistory.com/605 부호 없는 이진 정수범위 : 0 ~ 2^n -1 (n은 bits) 부호 있는 정수 (음수) - 0 이 하 나!- 최신기계에서 거의 사용~ x + 1 = - x ~// 주어진 2진수의 모든 비트를 반전 (0을 1로, 1을 0으로) 후 , 1을 더함ex)1000 0111 의 2의 보수-> 0111 1000-> 0111 1000 + 1 = 0111 100..
컴퓨터 종류 - 퍼스널- 서버- 슈퍼- 내장 무어의 법칙- 칩에 포함되지 않은 트랜지스터의 개수는 2년마다 2배로 늘어날 것임 암달의 법칙- 시스템 구성상 프로세서가 2배가 되더라도 20%~40%의 성능 손실 발생 - ( 그니까 CPU 늘린 비율에 비해서 성능이 덜 향상 됨)향상 시간 = 영향받은 시간 / 개선된 인자 + 영향안받은 시간

2/4 - 절반만..오늘 좀 2학년 계획 좀 대충 짜야겠음 (내일 나머지) 오ㅏ 동적할당은 다 까먹어서 진짜 흑흑 책 설명 + 채찍피티의 힘을 빌려 이해해보도록 하쟈 동적할당 -프로그램 실행중에 저장공간을 할당하기 - 처리할 데이터 종류나 수를 장담할 수 없다면 프로그램 실행 중 메모리를 동적할당 할때 : malloc 반환할 때 : free #include malloc함수의 반화값이 NULL 포인터인지 반드시 확인하고 사용!(479p의 9행처럼) -> NULL(0)은 메모리 부족을 뜻함(할당 실패) exit 함수 : 어느경우든 프로그램 바로 종료 (예외상황이 발생해 프로그램 종료시 인수로 1을 주고 호출 ( exit(1) )) malloc뒤에는 항상 free가 (사용끝난 저장공간은 반드시 반환) mall..
2/6 므ㅓ여 이거 처음 보는데 (아닐수도 내가 기억 못하는 걸수도 아니 일단 에타에 질문함... 2,3학년때 나오냐고.... 아니 나 진짜 처음 본단 말임 ㅜㅜ - 나온답니다 ㅎ 이중포인터 (**) 포인터의 주소는 이중포인터에 저장됨 **ppi : 첫번째 * = ppi가 가리키는 자료형이 포인터임을 뜻함, 두번째 * = ppi자신이 포인터임을 뜻함 (즉 **ppi는 ppi가 가리키는 포인터가 가리키는 값) (447p 아래부분에 자세한 설명) 1. 포인터를 변수명으로 쓰면 그 안의 값이 됩니다. 2. 포인터에 & 연산을 하면 포인터 변수의 주소가 됩니다. (포인터가 변수이므로 주소연산사 사용 가능) 3. 포인터 * 연산은 화살표를 따라갑니다. (그것이 가리키는 대상) 451p - 바꾸고자 하면 함수의 인..
2/4 - 어제 가족모임?이라 못햇듬 ㅠ 다차원 배열 2차원 초기화 시 행의 수 생략가능, 열의 수 생략불가 문자열은 항상 뒤에 '\0' null 문자까지 포함한다는 사실을 잊지 말것!! 아놔 자꾸 ==을 =으로 씀ㅣ;;; 제발;;;;';;;;;; 하 그리고 (i==j) || (i == (4-j)) 할 때 여기 있는 모든 괄호 쓰는 것도 제발 그만 까먹으셈ㅜㅜ 포인터 배열 같은 포인터가 많이 필요한 경우 배열명은 첫번째 요소의 주소 433p 포인터 배열의 초기화 : 문자열 시작 주소만 배열 요소에 저장 char 배열의 초기화 : 문자열 자체를 배열의 공간에 저장 440p 문제 2번!! [i][i]자너 441p 문제 - Wow.. 배열이 *pary[4]; 이런식으로 선언되었으면 index는 0~3만 가능한..
지역 변수 : 해당 함수나 블록 내에서만 쓸 수 있는 변수 전역 변수 : 전체 함수 안에서 쓸 수 있는 변수 코드블럭(해당 함수)내에 전역변수와 같은 이름의 지역변수를 선언하면 거기서는 전역변수를 사용할수 업따@@!! 자동 지역변수 (auto 사용, 생략 가능) : 해당 함수가 '호출'될 때마다 생성됨.(즉 호출될때마다 초기화된 값으로 나옴) 정적 지역변수 (static 사용) : 해당 함수가 '호출'될때, 저장된 마지막 값으로 나옴 (393p) ⬆️ 레지스터 변수 - 전역변수는 안됨 - 주소 구하기 불가 값을 복사해서 전달하기 (400p) main 함수의 a를 다른 함수에 복사해주면 해당 매개변수의 메모리공간이 새로 잡히면서 변수 a값을 전달 (401p) 402p 코드 데이터 공유 방식 값 복사 전달 ..

2/1 - 어제 놂 ㅋㅋ ㅜㅜ 문자열은 배열의 구조를 가지며, 첫번째 문자의 주소로 쓰임 주소로 접근해서 문자열을 바꾸지 말것!! (ex. *"apple"='t' (첫번째 문자를 t로 바꿔라) 350p 여기서 잠깐!이 뭔 말인지 모르겟거 -> 아냐!!!! 그 최적화 여부 확인하는 코드 써보니까 바로 이해 됨 ㅋㅋㅋ 같은 문자열이면 어디에 저장해도 주소가 같네영 (같은 문자열 상수를 여러번 사용할 때 하나의 문자열에만 메모리를 저장하고 그 주소를 공유) scanf는 공백문자, 탭문자, 개행문자\n 이전까지만 저장함 gets는 공백문자, 탭문자, 개행문자\n 이후까지도 저장함 fgets 함수는 gets와 똑같으나(\n의 처리방식은 다르다네요) 최대 배열 크기까지만 문자열 입력 ( 배열의 크기 확인 가능 ) ..
11/27 + 11/30 제어문자 printf("대문자 : %c %c", cap, '\n'); //여기선 걍"%c\n"이랑 똑같.. 그 대신 처음처럼 쓴다면 바로 아래 코드에서 제어할 수 있음 scanf("%c%c", &ch1, &ch2); //if 여기서 a만 입력한다면 ch1에는 'a', ch2에는 '\n'이 저장되어 printf("[%c%c]", ch1, ch2); // 출력 시 [a 엔터 ]가 뜬다 getchar, putchar - 문자 전용 입출력 함수 getchar()한번 더 써야해서 입력 버퍼(의 개행문자(\n)) 비우는 법 : getchar();를 써준다... ch = getchar(); //ch에 문자 '하나'를 입력받음 342p 3번, 도전 문제