분류 전체보기 (304) 썸네일형 리스트형 c언어 포인터란? 우선 포인터 변수란? 메모리의 주소 값을 저장하기 위한 변수이다! int main(void) { int num = 7; // 정수 7이 저장된 변수 num선언. int * pnum; // 포인터 변수 pnum의 선언 pnum = # // num의 주소값을 포인터 변수 pnum에 저장 } ○ int * pnum; 의 문장이 포인터 변수의 선언이다. 1. pnum :포인터 변수의 이름 2. int * : int형 변수의 주소 값을 저장하는 포인터 변수의 선언. ○ pnum = # 위 문장에서 &연산자는 오른쪽에 등장하는 피 연산자의 주소값을 반환하는 연산자이다. 따라서 &연산의 결과로 변수 num의 주소 값이 반환되며, 이를 포인터 변수 pnum에 저장하게 된다. 포인터 형(type)이란? 우.. 코드업 1007번 문제 역슬래시\출력해보기. "C:\Download\hello.cpp"를 출력하는 예제이다. #include int main(void) { printf("\"C:'\'Download'\'hello.cpp\""); return 0; } '\' 작은따옴표 사이에 역슬래시를 넣으면 \ 출력이 될 거라 생각하였는데 ' '의 형태로 작은따옴표만이 출력이 되었다. #include int main(void) { printf("\"C:\\Download\\hello.cpp\""); return 0; } \를 출력하기 위해서는 \\의 형태로 역슬래시를 두 번 연속 입력해줘야 한다. 코드업 1006번 %출력해보기 "!@#$%^&*()"를 출력하는 예제이다. #include int main(void) { printf("\"!@#$%%^&*()\""); return 0; } 풀이에서 볼 수 있듯이 %를 출력하기 위해서는 %를 두 번 즉%%를 입력해줘야만 % 하나가 출력될 수 있다. #include int main(void) { printf("%%%%"); return 0; } 또 %%를 출력하고자 한다면 %를4개 입력해줘야 %%를 출력할 수 있다. 만약%%%만을 입력하였다면, %하나만 출력 값으로 나오게 된다. 이와 같은 규칙성으로 %%%를 출력하고자 한다면? #include int main(void) { printf("%%%%%%"); return 0; } 의 문장이 필요하다고 정리할 수 있다. ( C ) 코드업 1004,1005번 (큰따옴표 " "출력해보기) 코드업 c언어 기초 100제 중 1004 ,1005번을 풀어보았다. 우선 1004 번은 작은따옴표가 붙은 'Hello'를 출력하는 예제인데, #include int main(void) { printf("'Hello'"); Hello에 ' '를 붙여서도 출력이 되지만, return 0; } #include int main(void) { printf("\'Hello\'"); \' 역슬래시 따옴표의 형태로 문장을 입력하여도 같은 출력 값이 나온다. return 0; } 다음 1005번에서는 "Hello World"를 출력하는 문제이다. 양 문자의 끝에 큰따옴표가 붙어있는데, 이는 printf내에서 단순히 "Hello World"를 입력하면 컴파일 에러가 난다. #include int main(void) { p.. 열혈 c프로그래밍 11-2번(배열의 크기 와 길이) char형 1차원 배열을 선언과 동시에 다음 문장 내용으로 초기화하고 초기화 이후에는 저장된 내용을 출력하는 예제다. Good time 11-2번을 처음 푼 오답풀이이다. 서식 문자 % c가 char형과 함께 쓰이며, 문자의 형태로 데이터를 출력또는 입력하라 라는 의미를 가진다. 기본 자료형 변수들이 선언과 동시에 초기화하는 것처럼! 배열도 가능하다! 배열의 초기화 방법은 총 세가지이다. 1. int arr [3] = {1,2,3}; //순차적으로 1 2 3을 초기화한다. cf) 중괄호로 묶인 부분을 초기화 리스트라고 한다. 2. int arr [ ] = {1,2,3,4,5}; //컴파일러에 의해서 자동으로 5가 삽입이 된다. 이문장에서 볼 수 있듯이 초기화를 목적으로 초기화 리스트가 선언되면 배열의 길.. 열혈 c프로그래밍 11-1번(최대, 최소) 길이가 5인 int형 배열을 선언해서 프로그램 사용자로부터 5개의 정수를 입력받고 입력이 끝나면 적혀있는 내용을 출력하는 예제이다. 처음 11-1번을 풀때 접근한 방법이다. 최대 최소를 어떻게 나누어 구해야 할지 막막하였다. 결국 풀이를 보았고 풀이를 보아도 처음에 이해가 가지 않는 부분이 몇몇 있었다. 243행에서 왜? max = min =sum =arr [0] 일까?라고 생각을 하였는데, arr [0]은 배열 arr의 첫 번째 요소의 값으로 첫번째값이 곧 max이고 min이고 sum(합)이라는 사실을 깨달았다. 그리고, if절에서 조건식에 max < arr[n]. 이의 if블록 안에 max = arr [n]의 문장이 이해가 가지 않았다. 처음에 max의 값이 어떤값인지 알고 조건식에 위치해 있으며 m.. c언어 재귀함수의 이해 우선 팩토리얼 이란? 4! = 4 x 3 x 2 x 1 과 같다. 즉 4! = 4 x (4-1)! 이고 이는 4 x 3! 과 같다. 그러면 1!은? 1이다. 1!을 위와 같은 식으로 표현해 보면 1 x (1 - 1)! 이고 이는 1 x 0! 과 같다. 즉 0! = 1이 된다. 128행을 보면 factorial(1)이 있는데 116행의 factorial 함수에 1의 인자를 받을 int n이 있다. 이 함수에 1이 들어가면 우선, 1 * factorial( 1 - 1)이 시행이 된다. factorial(0)이 다시 호출되어 factorial(0)을 시행한다. 그런데 n ==0이면 1을 반환하므로 1이 앞으로 반환된다. 즉 1 * 1 = 1 이되어 128 행의 출력값은 1이된다. 131행에서는 factoria.. 지역변수 와 전역변수 전역 변수는 어디서든 접근이 가능한 변수로써 지역변수와 달리 중괄호 내에 선언되지 않는다. 제일 위에 #include 전역 변수는 48행과 같이 선언된 변수를 말한다. 전역 변수의 특징은 1.프로그램의 시작과 동시에 메모리 공간에 할당되어 종료 시까지 존재한다. 2. 별도의 초기 값으로 초기화하지 않으면 0으로 초기화된다. 3. 프로그램 전체 영역 어디서든 접근이 가능하다. 전역 변수와 동일한 이름의 지역변수가 선언되면? 실행결과는 동일한 이름의 지역변수는 해당 영역 내에서 동일한 이름의 전역 변수를 가린다. >>결론은 이런 상황 자체를 만들지 않는 것이 중요하다. 가급적 변수의 이름은 달리하자. 이전 1 ··· 34 35 36 37 38 다음