언어58 [C] 포인터와 함수 C포인터와 함수 "함수호출 시 전달되는 인자의 값은 매개변수에 복사가 된다." -함수를 호출하면서 매개변수에 배열을 통째로 넘겨주는 방법은 존재x-함수 내에서 배열에 접근할 수 있도록 배열의 주소 값을 전달하는 것은 가능 7행: int형 포인터 변수의 이름을 대상으로 배열형태의 접근을 진행 int * param => int param[] (매개 변수의 선언으로 제한됨) arr1의 값이 계속 변경됨. * 함수 내에서는 인자로 전달된 배열의 길이를 계산할 수 없음 그래서 배열의 크기나 길이정보도 함께 인자로 전달해야 함 Call-by-value = 단순히 값을 전달하는 형태의 함수호출Call-by-reference = 메모리의 접근에 사용되는 주소 값을 전달하는 형태의 함수호출ex) Swap 함수의 경우 포.. 2018. 10. 10. [C] 포인터와 배열(☆) C포인터와 배열 배열의 이름: 포인터그 값을 바꿀 수 없는 '상수 형태의 포인터'배열의 시작 주소 값을 의미하며, 그 형태는 값의 저장이 불가능한 상수임. 포인터 변수 배열의 이름 이름이 존재하는가? 존재o 존재o 무엇을 나타내거나 저장하는가? 메모리의 주소 값 메모리의 주소 값 주소 값의 변경이 가능한가? 가능 불가능 배열의 이름도 포인터이기 때문에 배열의 이름을 피연산자로 하는 * 연산이 가능1차원 배열이름의 포인터 형은 배열의 이름이 가리키는 대상을 기준으로 결정 ex) 포인터 변수로 할 수 있는 연산은 배열의 이름으로도 할 수 있고, 배열의 이름으로 할 수 있는 연산은 포인터 변수로도 할 수 있음. 포인터 변수 ptr이 배열이름 arr과 동일한 주소 값을 갖도록 하기 위해서 첫 번째 요소의 주소 .. 2018. 10. 9. [C] 포인터 C포인터 포인터 변수 : 메모리의 주소 값을 저장하기 위한 변수 type * ptr; => type형 변수의 주소 값을 저장하는 포인터 변수 ptr의 선언 ex) type * type형 포인터type * ptr; type형 포인터 변수 ptr *포인터 변수의 선언에 있어서 * 연산자의 위치는 상관x.이렇게 & 연산자의 피연산자는 변수 이어야 함. 상수는 피연산자가 될 수x.변수의 자료형에 맞지 않는 포인터 변수의 선언은 문제가 됨.포인터 형은 메모리 공간을 참조하는 기준이 됨. ex)//보니까 포인터는 임대 내놓은 집이고, 변수는 임대집 들어가는 사람? 으로 생각하면 될것같다 ㅋㅋ 일반 변수와 포인터 변수를 하나의 문장 안에서 동시에 선언하는 것도 가능 이렇게 '문장의 수가 적다고 좋은 코드는 아니다. .. 2018. 10. 6. [C] 1차원 배열 C 1차원 배열 배열 : '둘 이상의 변수를 모아 놓은 것' 다수의 데이터를 저장하고 처리하는 경우에 유용 선언에 필요한 세가지int 배열을 이루는 요소(변수)의 자료형 merona 배열의 이름 [7] 배열의 길이 => "int형 변수 7개로 이뤄진 배열을 선언하되, 그 배열의 이름은 merona이다!" * 7개의 int형 변수가 '나란히' 선언되어 있음 * 배열의 길이 정보는 상수* 배열의 위치 정보를 명시하는 인덱스 값은 1이 아닌 0에서부터 시작 (1)초기화 리스트를 다 적어줌. (2)초기화 리스트가 선언되면 배열의 길이정보를 생략할 수o컴파일러가 초기화 리스트의 수를 참조하여 길이정보를 채워줌. (3)뒤에 남은요소들은 0으로 채워짐. 1,2,0,0,0 식임. -char형 배열을 이용하면 문자열의 .. 2018. 10. 2. [C] 반복문 (C언어정석_5) C언어 정석 5강수업 5일차 5강 문제 소스코드 * while과 do~while의 다른점: do~while은 최소 한번이상 루프 블록을 실행 while은 루프 내부를 한번도 실행하지 않을 수 o 예제 05-07-6 //for->while(1)로 바꾸기 #include int main(){ int s=2, e, fact=1; while(1){ printf("%d!=",s); for(e=1; e 2018. 10. 1. [C] 도전프밍1 C 도전프밍_1 프밍1~8문제 소스코드 5시간 걸려서 푼 열혈C 10강^^ //열혈C를 공부한게 먼가 되게 올만인듯한..ㅎㅎ 2018. 9. 30. [C] 매크로와 typedef (C언어정석_4) c언어 정석 4강수업 4일차(매크로와 typedef) 4강 문제 풀이 소스코드 객체형 매크로 : 하나의 기호로 프로그램 중에 선언된 기호가 나오게 되면 그 부분에 기호를 없애고 선언된 값으로 대체 -일반적으로 대문자 -정해진 기호와 그 기호에 해당하는 값을 프로그램이 시작하기 전에 선언하는 것이 일반적 -수정이 쉽다는 장점 -동일한 내용이 여러 번 나타나는 경우 or 다른 팀원의 프로그램과 같은 값을 공용하기 위한 용도 에 유용 ex1) 매크로 PI 선언PI를 3.141592라고 정의함.즉 이후에 나오는 모든 PI에 3.141592가 대입됨. ex2) 두 문자열 결합(##) 사용=> #define output(x) printf("%d %d\n",x ## 1,y ## 2) 이런식으로 썻을때따른 메인함수에서.. 2018. 9. 19. [Python] 연산자, 변수 (창의적파이썬_3) 창의적 프로그래밍을 위한 파이썬 3강 학교 1일차 연산자 결합 법칙 **(제곱) 오른쪽에서 왼쪽 -(음수) 왼쪽에서 오른쪽 *(곱) /(나누기) //(몫) %(나머지) 왼쪽에서 오른쪽 +(더하기) -(빼기) 왼쪽에서 오른쪽 할당문 연산자 '=' ex) a= 10 변수 a에 20을 할당 * 할당되지 않은 변수는 에러 * 파이썬은 대소문자를 구분 * 변수 이름은 문자, 숫자, '_'만 사용가능 변수의 개수 = 값의 개수 *count +=1=> count = count +1 2018. 9. 18. 이전 1 2 3 4 5 6 7 8 다음 반응형