190615(5일차) - 구조체, 파일입출력 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. 전처리기 - 복습 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include #include // malloc 사용시 필요 #pragma warning (disable:4996) main() { char buf[100]; char **p; p = (char**)malloc(sizeof(char*) * 3); // 3개짜리 포인터 배열을 가리키는 포인터. for (int i = 0; i fir* n->sec); } void func3(num n[]) { printf("%d + %d + %d + %d = %d", n..
190613(4일차) - 함수포인터, typedef, 전처리기 지시자, malloc 등 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. int *p 는 int *p[3](포인터배열) 도 가리킬 수 있다. 배열 포인터 int (*p)[3] : 인트형 3개짜리 배열을 가리킬 수 있는 포인터 함수 포인터. 함수도 각각 함숟마다 주소를 가지고 있다. 함수는 주소로 호출한다. 배열의 이름도 주소지만, 함수의 이름 자체도 주소다. int add(int a,int b); int (*p)(int,int); p=add; #ex #include #pragma warning (disable:4996) int add(int a, int b) { return a + b; } void main() { int(*p..
190612 (3일차) - 더블포인터, 연산자 우선순위 등 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. #include #pragma warning (disable:4996) int main() { int arr[3] = { 1,2,3 }; int*p = arr; printf("%d\n", *(p++)); printf("%d\n", *(p++)); printf("%d\n", *(p++)); return 0; } 1 2 3 #include #pragma warning(disable : 4996) int main() { int arr[3] = {1, 2, 3}; int *p = arr; printf("%d\n", *(p++)); printf("%d\n", *p++); printf("%d\..
190611 (2일차) - 싱글포인터, 배열 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. 제목 : .net_아무개 #소문자 대문자 쉽게 바꾸기 #include #pragma warning(disable:4996) main() { char ch = 'A'; printf("%c %c\n", ch ^ 32, 'a'^32); } 링킹과정에서 CPU에 맞게 언어가 번역이된다.(CPU정보가 들어간다.) 자바에서는 JVM으로 돌림. C는 운영체제에 맞춰서 컴파일하여 돌려야한다. (다른 운영체제에서 컴파일한 실행파일을 다른 운영체제에서 돌아가지 않음). #GOTO 사용 10까지 더하기 #include #pragma warning(disable : 4996) main() { int i = 1; int..
190610 - C언어 (1일차) 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. vs 설치 1972년 데니스리치에 의해 만들어짐. char : 8bit == 1byte signed int 에서 최상위 bit가 1이면 2의 보수 취해서 -(마이너스)부호를 붙여 표현함. 32 = 0010 0000 -32 = 1110 0000 #바이어스 표기법 1010 -> 1.010 * 2^3을 float(32bit : 4byte) 로 바꾸면 2^(3+127) 0 1000 0010 010 0000 0000 0000 0000 0000 _____4 ___1 ____2 2진수로 6 0110 -> 1.10 * 2^2 float(32bit) 로바꾸면 2^(3+129) _부호 __________129 ___ 10(가..