C언어 구조체 선언 및 포인터 접근 예제
1. 정리 구조체를 선언하고 구조체 문법을 통해 접근하는 방식과 포인터로 1Byte 씩, 접근하는 예제입니다. 먼저, 5Byte의 my_struct 구조체를 선언하겠습니다. 구조체는 안에는 1Byte씩 할당된 변수들인 Rsv0~4까지 존재합니다. typedef struct { uint8_t Rsv0; uint8_t Rsv1; uint8_t Rsv2; uint8_t Rsv3; uint8_t Rsv4; }_my_struct; _my_struct my_struct; 차후에 사용될, 변수 i와 1Byte 포인터를 선언하겠습니다. 그리고 구조체를 구조체 문법형태로 접근하여 값을 넣고, 출력하겠습니다. 각각의 구조체 변수에 0~4값이 저장됩니다. 출력하면 다음과 같은 형태로 출력됩니다. 출력: 0, 1, 2, 3,..
2022.02.20
C언어 상수 선언을 위한 Const 예제
1. 정리 const는 변하지 않는 상수 변수기 때문에 선언과 초기화를 동시에 해줘야 합니다. 먼저, 전역변수로 arr_adc라는 const 배열을 선언하겠습니다. uint8_t const arr_adc[] = { 0, 1, 2, 3, 4 }; main에서 arr_adc const 배열의 크기반큼 반복하면서 출력하겠습니다. 사이즈는 편의상 sizeof를 활용해보겠습니다. 출력은 다음가 같이 되겠죠. 01234 int main(void) { int i = 0; for(i=0; i
2022.02.20
C언어 파일 입출력 예시
코드 #include void main() { FILE *ifp, *ofp; ifp = fopen("a.txt", "r"); if(ifp == NULL) { printf("파일이 개방되지 않았습니다.\n"); return 1; } printf("입력파일이 개방되었습니다\n"); ofp = fopen("b.txt", "w"); if(ofp == NULL) { printf("파일이 개방되지 않았습니다.\n"); return 1; } printf("출력파일이 개방되었습니다.\n"); }
2022.02.20
C언어 strlen 함수 구현하기
코드 #include void my_strlen(char *); void main() { char fruit[20] = "Starwberry"; my_strlen(fruit); printf("%s\n",fruit); } void my_strlen(char *des) { int count=0; while(*des != '\0') { count++; des++; } printf("%d글자입니다",count); }
2022.02.20
C언어 strcpy 함수 구현하기
코드 #include void my_strcpy(char *, char*); void main() { char fruit[20]; my_strcpy(fruit,"Starwberry"); printf("%s",fruit); } void my_strcpy(char *str, char *des) { while(*des != '\0') { *str = *des; str++; des++; } *str = '\0'; }
2022.02.20
C언어 문자열 포인터 Swap 예시
코드 #include void myswap(char **, char **, char**); void main() { char *name = "mlog"; char *age = "26"; char *tall = "secret"; myswap(&name, &age, &tall); printf("%s\n", name); printf("%s\n", age); printf("%s\n", tall); } void myswap(char **name, char**age, char **tall) { char* temp; temp = *name; *name = *age; *age = *tall; *tall = temp; }
2022.02.20
C언어 동적 할당 및 해제 malloc 예시
코드 #include #include #include int main(void) { char *str[3]; char temp[100]; int i; for (i=0; i
2022.02.20
C언어 구조체 배열 선언 및 초기화
코드 #include struct address { char name[20]; int age; char tel[20]; char addr[80]; }; int main(void) { struct address list[5] = { { "Mr. Kim", 23, "123-456-7890", "서울 강남" }, { "Mr. Park", 35, "123-456-7891", "서울 신촌" }, { "Mr. Lee", 19, "123-456-7892", "서울 명동" }}; int i; for (i = 0; i
2022.02.20
C언어 구조체 Swap 함수
코드 #include struct major{ double math; double english; }; struct major swap(struct major); int main(void) { struct major s1 = { 0, 0 }; printf("수학점수와 영어점수를 입력하세요\n"); scanf_s("%lf %lf", &s1.math, &s1.english); printf("수학 %.2lf 영어 %.2lf \n", s1.math, s1.english); s1 = swap(s1); printf("수학 %.2lf 영어 %.2lf\n", s1.math, s1.english); } struct major swap(struct major s1) { double temp; temp = s1.math; ..
2022.02.20