본문 바로가기
728x90

Basic C Language26

#26. Pointer #include #include //call by value 단순 값 저장 /* call by value VS call by reference //call by reference 주소값 */ /* void MaxAndMix(/* 매개변수 ) // 함수 사용 { } */ void Swap_ptr2(int** dptr1, int** dptr2) { int* temp = NULL; // 포인터 temp에 null값을 주기 temp = *dptr1; 그것을 *dptr1에 값을 넣음 *dptr1 = *dptr2; *dptr1의 값을 *dptr2에 넣음 *dptr1 = temp; *dptr2의 값을 다시 temp에 넣는 방식으로 값을 바꿈 printf("함수 안 dptr1 : %d, dptr2 : %d\n", **.. 2023. 5. 3.
#25 Pointer #include #include void String_Printer() { char str[] = "string"; //문자열 배열 string 선언 printf("%s\n", str); str[0] = 'c'; // str 0번째 배열에 c로 바꿔줌 printf("%s\n", str); / char*pstr = "ptrString"; // 문자열 포인터 pstr //pstr[0] = 'c'; // 배열값변경 불가능 //printf("%s\n", pstr); } void Pointer_Arr_and_2D_arr() { float arr[2][4] = { {1.0f, 2.0f, 3.0f, 4.0f}, {5.0f, 6.0f, 7.0f, 8.0f} }; // arr = &arr[0][0] 첫번째 주소 = ar.. 2023. 5. 3.
#24 Pointer #include //포인터는 주소 /* 메모리 공간안에 주소를 설정하여 int a 저장하기 위한것이 포인터 변수 배열처럼 연속되서 잡히는 경우에는 메모리만큼의 주소값마다 저장 */ 예시 int main() { int num = 7; int* pnum; //포인터 선언 변수앞에 포인터를 의미하는 * 을 붙여줌 pnum = # // 주소를 설정하여 사용 &num의 시작주소부분에 저장됌(x64 = 8byte , x86 = 4byte 크기를 가짐) *pnum = 20; printf("%p\n", pnum); // 시작주소값 출력 printf("%d\n", *pnum); // = 20 printf("%d\n", num); // = 20 printf("%p\n", &num); // = 시작주소값 출력 pri.. 2023. 5. 3.
#23. 회문 구현 void hwamoonx() { char str[100] = "bcadscb"; //회문이 아닌값 선언 int i = 0; int hwamoon = 0; int count = strlen(str); //str의 길이만큼 카운트 for (int i = 0; i < count / 2; i++) // 길이 / 2 만큼 반복 { //앞뒤 숫자를 비교해서 같으면 화문 if (str[i] != str[count - i - 1]) { hwamoon = 0; break; } } if (hwamoon == 1) { printf("화문입니다\n"); } else { printf("화문이 아닙니다\n"); } } void hwamoono() { char str2[100] = "acdfbfdca"; // 화문인 경우 int .. 2023. 4. 26.
728x90