기본적으로 함수 호출 시에 "값에 의한 호출(call by value)"이 이루어진다. "값에 의한 호출"이란 함수 호출할 때, 인수의 값이 매개변수로 전달하면서 원본이 전달되는 것이 아니라 복사본이 전달된다. 하지만 배열의 경우에는 함수 호출 시에 인수가 배열이라면 "값에 의한 호출"이 아니라 "참조에 의한 호출(call by reference)"을 한다. 이는 복사본이 전달되는것이 아니라, 원본이 전달된다고 알아두면 된다.(자세한 내용은 포인터를 학습해야 한다) 요약 : 기본적으로 값에 의한 호출, 인수가 배열이면 참조에 의한 호출 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include #define STUDEN..
배열의 복사 1 2 3 4 5 6 7 8 9 10 11 12 13 #include #define SIZE 5 int main(void) { int a[SZIE] = {1, 2, 3, 4, 5}; int b[SZIE]; b = a; //복사 이렇게 하면 안됨. return 0; } Colored by Color Scripter cs 이렇게 하면 배열이 복사되지 않는다. 배열의 이름은 배열이 있는 '주소'이기 때문이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #define SIZE 5 int main(void) { int a[SIZE] = {1, 2, 3, 4, 5}; int b[SIZE]; int i; for(i=0; i
배열 요소의 개수 계산 방법 sizeof 연산자 : 자료형이나 변수의 크기를 바이트 단위로 계산 sizeof 연산자로 배열 전체의 크기를 구하고 이것을 배열 원소의 크기로 나누게 되묜 배열 원소가 몇개있는지 계산 가능 1 2 3 4 5 6 7 8 9 10 11 12 #include int main(void) { int nums[] = {3, 5, 6, 8, 3, 2}; printf("%d", sizeof(nums)); return 0; } >>>24 Colored by Color Scripter cs nums라는 배열을 선언하고 초기화 한다.(원소가 6개 있으므로 배열을 6칸으로 자동으로 잡아줌) int형으로 배열을 선언했기 때문에 6칸x4바이트 = 총 24바이트 why? sizeof연산자는 바이트 단위..
보통 함수라면 인수(파라미터)가 몇개인지 정해져있다. 더하기 함수를 만든다고 가정하면 1 2 def add_cal(a, b): return a + b cs a하고 b로 들어가는 수가 인수이다. 들어갈 수 있는 파라미터는 2개이다. 그러면 인수가 몇개가 들어갈 지 모를때는? 1 2 3 4 5 6 7 def add_cal(*args): result = 0 for i in args: result = result + i return result cs 여기서 args는 그냥 변수이름이다. *anything, *python 이렇게 아무 이름이나 사용해도 된다. 이 함수는 들어가는 인수들을 싹다 result값에 더하고 반환해주는 함수이다.인수를 몇개를 넣든 상관없다. 예를 들어, 인수의 개수를 그냥 마음대로 1, 2..
파이썬을 공부하다 모듈을 불러오거나 어떤 작업을 할때 터미널 명령어를 사용하길래 좀 찾아보고 필요한 부분만 기록해 둠. 조금씩 다른 명령어로 추가 할 예정 ls : 현재 경로에 있는 폴더/파일 들을 보여줌 pwd : 현재 위치한 경로 출력 pwd로 현재 경로를 확인해본 결과, Users폴더 안에 jinmin-u폴더에 위치하고 있네요 cd : 디렉터리 이동하기 cd documents 이렇게 명령어를 입력해서 documents폴더로 이동했습니다. 만약에 뒤로가고 싶다? cd .. 를 입력하면 뒤로 돌아가게 됩니다. documents 폴더로 이동 후, cd .. 를 입력해서 다시 뒤로 돌아감. pwd를 입력해서 현재 경로를 확인해볼 결과, 원래 위치해 있던 jinmin-u폴더에 위치하고 있음을 확인
소수 : 1과 자기 자신으로만 나눠지는 수 예를 들어, 7은 1과 7로만 나누어 떨어지고 10은 2, 5로도 나누어 떨어지기 때문에 소수가 아님. 꽤나 자주 나오는 주제인데 할때마다 헷갈려서 정리하고 가자. 소수를 구할 최대 정수를 입력받고, 그 범위안에 소수가 어떤게 있는지 출력하는 알고리즘을 짤 것. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def isPrime(n): #소수 구하는 함수 if n 소수x return False return True #계속 나눈결과 나머지가 0이 아니다 -> 소수o, print문에서 출 num = input("소수를 구할 최대 정수 :") #최대 정수 입력 num = int(num) for k in range(num+1): #만약 15를 입..