C언어_네크워크 select() 사용 다중 접속 채팅 프로그램 만들기
·
[Programming] Language/C
1.▶ IP주소설정하기 내 네트워크 환경 우클릭 > 속성 > 로컬영역연결 > 속성 위에 그림 나옴 . 순서대로 쓰면됨.IP주소는 현재 192.168.10.(출석번호+10) 로 지정해주었다.기본 게이트 웨이 주소는 HUB 주소로 나갈때 주소를 한번에 다 관리한다.기본 설정 DNS 서버 주소는 KT 를 사용하므로, KT DNS 서버 IP 주소를 적어주면된다. : 현재 실습중인 와우_리눅스에서만 가능함. setup 이라 치면됨. IP 주소 Netmask 저절로 적힘. gateway 주소 (HUB주소) 192.168.10.1 정해져있음. KT DNSS 주소 : 168.126.63.1 : 와우리눅스의 현재 네트워크 상태를 항상 켜져있는 상태로 체크 ..
C언어_원,투 포인트 함수 이용 복습 , 리눅스
·
[Programming] Language/C
(원 포인트)#include int main(void) { int iA; int iB; test(&iA,&iB); //함수 호출(포인터 매개변수로 받아서 그 주소 메모리 값을 직접적으로 수정. return 0; } void test(int *p1, int *p2) { *p1 = 100; *p2 = 200; } /* iA 를 임의의 주소로 1000번지, iB를 임의의 주소로 2000번지 라 했을 시에 p1과 p2 또한 임의의 주소로 1004번지 , 2004번지로 생각한다면 p1이 가지고 있는 주소값은 1000번지 이며 p2가 가지고 있는 주소값은 2000번지 이다. 이것이 * 로 가르키는 곳의 메모리 값은 iA의 값이므로 그 값을 100으로 수정하고 200으로 수정 해 주고 있다. */ (투 포인트)#in..
C언어_(상수,변수)포인터의 이해
·
[Programming] Language/C
- (상수,변수) 포인터 기본형 준비 - #include //다차원 배열과 포인터의 관계, 상수포인터와 변수포인터란? int main(void) // 다시 정리하자면 값에 &붙이면 주소로 쓰이고 주소에서 *만 붙이면 다 값으로 쓸 수 있다. { int A[5] = {1, 2, 3, 4, 5}; // 배열도 포인터 int B[5] = {1, 2, 3, 4, 5}; int* p1 = A; //포인터도 배열처럼 쓸 수 있다. int* const p2 = B; // const를 사용함으로써 p2는 주소값을 지니는 상수가 되었다. int const* const p3 = B; //*이 안변합니다. 라는 소리 즉 도착하는 목적지를 변경할 수 없다. 라는 소리가 된다. *(p2 + 2) = 1000; 이것이 성립이 안..
C언어_다차원 배열
·
[Programming] Language/C
- 다차원 배열 예제 - #include int main(void) { int arr1[3][4]; int arr2[7][9]; printf("세로 3, 가로 4 : %d\n", sizeof(arr1)); printf("세로 7, 가로 9 : %d\n", sizeof(arr2)); return 0; } - 다차원 배열 예제2 -#include int main(void) { int villa[4][2]; int popu, i, j; //가구별 거주 인원 입력 받기 for(i = 0; i 배열 1개(가로로 이동) return 0; } - 다차원 배열 기본형 준비 2 -#include int main(void) { int A[5] = {1, 2, 3, 4, 5}; //바로 초기화 printf("1차원 배열 A..
C언어_교환법칙, (2,3)차원 배열, 더블 포인터의 이해
·
[Programming] Language/C
- 교환 법칙 - #include // 이런 문법을 허용 한다만 알면 된다. 누가 이런식으로 코딩했을 시 알아 봐야 하기 때문에 알려준다. int main(void) { int A[5] = {1, 2, 3, 4, 5}; //1차원 배열 선언 후 초기화 printf("[%d]\n",A[2]); //그렇다면 배열에서의 교환법칙 이란? 배열에서의 교환법칙. 즉, 누가 이런식으로 코딩하면 맞긴 맞는 코딩. printf("[%d]\n",2[A]); return 0; } /* 교환법칙 A + B = B + A A * B = B * A */ - 2차원 배열 추가 설명 - #include int main(void) { int A[3][4] = { {}, {}, {} }; return 0; } /* A[1] + 2 란 ..
C언어_구조체 메모리 최적화(전처리어 pragma 사용법),구조체 활용, 공용체 사용법
·
[Programming] Language/C
- 구조체 메모리 최적화 - #include //데이터간 장치간 통신할때 사용하는 프로그래밍 해 볼 것 typedef struct _smart //최적화 전. 28바이트 { int a; char b; short c; int d; char e; short f; char g; int h; char i; char j; short k; }smart; typedef struct _smart1 //메모리 최적화 구조체. 24바이트 { int a; char b; short c; int d; char e; char g; short f; int h; char i; char j; short k; }smart1; #pragma pack(1) typedef struct _smart2 //pragma 테스트 최적화 전. { i..