728x90 반응형 프로그래머42 [C언어 코딩 도장 심사문제 답] 52.6_인적 정보 삭제하기 1. 답 #define _CRT_SECURE_NO_WARNINGS #include #include struct Person { char name[20]; int age; char address[100]; }; int main() { struct Person p1; strcpy(p1.name, "홍길동"); p1.age = 30; strcpy(p1.address, "서울시 용산구 한남동"); memset(&p1, 0, sizeof(struct Person)); printf("이름: %s\n", p1.name); printf("나이: %d\n", p1.age); printf("주소: %s\n", p1.address); return 0; } 2. 결과 3. 정리 memset함수를 이용해서 p1 구조체에 0으로.. 2022. 7. 8. [C언어 코딩 도장 심사문제 답] 51.7_패킷 크기 조절하기 1. 답 #include #pragma pack(push, 1) struct Packet { char a; short b; }; #pragma pack(pop) int main() { struct Packet pkt; printf("%d\n", sizeof(pkt)); return 0; } 2. 결과 3. 정리 3을 출력하는 방식이 이것 이외에도 단순하게 char 타입의 구조체 맴버를 3개 생성해도 되기는 하지만, 이번 학습의 취지와 맞지 않다고 생각했습니다. 그래서 char 타입과 short 타입으로 맴버를 생성하고 pragma pack을 이용해서 패킷 크기를 조정하여 작성합니다. 통신에서 자료를 보낼때 등 패킷사이즈로 문제가 많을 수 있다고 하므로 유의하면서 작성할 필요가 있다고 생각이듭니다. 4. .. 2022. 7. 8. [C언어 코딩 도장 심사문제 답] 50.3_두 점 사이의 거리 구하기 1. 답 #define _CRT_SECURE_NO_WARNINGS #include #include struct Point2D { int x; int y; }; int main() { struct Point2D p1; struct Point2D p2; double distance; scanf("%d %d %d %d", &p1.x, &p1.y, &p2.x, &p2.y); //정답 시작 distance = sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2)); //정답 끝 printf("%f\n", distance); return 0; } 2. 결과 3. 정리 pow함수를 이용해서 거듭제곱을 진행하고 squrt 함수를 이용해서 루트를 사용했습니다. 꼭 pow함수를 이용하지 않고.. 2022. 7. 7. [C언어 코딩 도장 심사문제 답] 49.9_구조체 포인터에 구조체 변수의 주소 할당하기 1. 답 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #define PI 3.141592f #include #include struct Point3D { float x; float y; float z; }; int main() { struct Point3D p1 = { 10.0f, 20.0f, 30.0f }; struct Point3D* ptr; //정답 구간 시작 ptr = &p1; //정답 구간 끝 printf("%f %f %f\n", ptr->x, ptr->y, ptr->z); return 0; } 2. 결과 3. 정리 malloc() 함수, 동적 메모리 할당을 하지 않고 포인터 변수를 선언하여 구조체 멤버에 접근하는 방식.. 2022. 6. 30. 이전 1 ··· 6 7 8 9 10 11 다음 728x90 반응형