포인터

· Language/C
1회15번) 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)#include main() { struct insa { char name[10]; int age; }a[] = {"Kim", 28, "Lee", 38, "Park", 42, "Choi", 31}; struct insa* p; p = a; p++; printf("%s\n", p->name); printf("%d\n", p->age);}더보기답: Lee38    2회2회-16번) 다음 C 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 출력하시오.)#include main() { int res = ..
· Language/C
1회-7번) 다음 C언어로 구현된 프로그램을 분석하여 5를 입력했을 때 그 실행 결과를 쓰시오. #inlcude int func(int a) { if(a (2) % (3) / 1회-17번) 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. #include int isPrime(int number) { for(int i=2; i
· Language/C
구조체도 포인터를 선언할 수 있으며 구조체 포인터에는 malloc 함수를 사용하여 동적 메모리를 할당할 수 있다. 형식은 아래와 같다. struct 구조체이름 *포인터이름 = malloc(sizeof(struct 구조체이름)); #define_CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include #include // strcpy 함수가 선언된 헤더 파일 #include // malloc, free 함수가 선언된 헤더 파일 struct Person { // 구조체 정의 char name[20]; // 구조체 멤버1 int age; // 구조체 멤버2 char address[100]; // 구조체 멤버3 }; int main() { struct Per..
· Language/C
1회-2번) 다음 C 언어의 출력값을 작성하시오. 🤔 #include int main() { char a[] = "Art"; char *p = NULL; p = a; printf("%s\n", a); printf("%c\n", *p); printf("%c\n", *a); printf("%s\n", p); for(int i=0; a[i]!='\0'; i++) printf("%c", a[i]); } 더보기 답: Art A A Art Art 풀이 혼자 풀어보려고 끙끙댔으나.. 포인터 너무 어렵다. *p, *a 출력값이 A가 나오는 것이 이해가 잘 가지 않아서 2회차 3번 문제 이후에 문제 풀이를 봤다. 우선, a라는 배열이 1000번째 기억장소를 할당받았다고 가정하자. char *p = NULL은 문자형 포인..
· Language/C
1. 인덱스로 문자 접근하기#include int main() { char *s1 = "Hello"; // 포인터에 문자열 Hello의 주소 지정 printf("%c\n", s1[1]); // e: 인덱스의 1(두 번째)의 문자 출력 printf("%c\n", s1[4]); // o: 인덱스 4(다섯 번째)의 문자 출력 printf("%c\n", s1[5]); // 문자열 맨 뒤의 NULL(\0) 출력, NULL은 화면에 표시 X return 0;}s1[1]처럼 문자열 포인터를 인덱스로 접근했고,printf에서 서식 지정자 %c로 문자를 출력했다.이렇게 문자열 포인터를 인덱스로 접근하면 char와 같기 때문에 %c로 출력할 수 있다. 문자열 포인터에서 문자열 맨 뒤의..
· Language/C
문자열은 char 포인터 형식으로 사용한다. char *변수이름 = "문자열"; 형식은 위와 같다. 예제를 통해 알아보자. #include int main() { char c1 = 'a';// 변수에 문자 'a' 저장 char *s1 = "Hello";// 포인터에 문자열 "Hello"의 주소 저장 printf("%c\n", c1);// a: %c로 문자 출력 printf("%s\n", s1);// Hello: %s로 문자열 출력 return 0; } 문자 char는 'a'처럼 글자가 하나만 있는 상태를 뜻하고, 문자열 char *은 "Hello"처럼 글자 여러 개가 계속 이어진 상태를 뜻한다. 👉 문자는 1바이트 크기의 char에 저장할 수 있지만 문자열은 크기가 1바이트를 넘으므로 char에 저장할 ..
혜발아기
'포인터' 태그의 글 목록