본문 바로가기

Language

(13)
[C] 함수 포인터 Function Pointers 포인터는 메모리상의 어떠한 위치를 가리킬 수 있다. 즉, 실행가능한 코드의 시작점도 가리킬 수 있다. 함수를 가리키는 포인터인 함수포인터는 실행가능한 코드의 시작점을 가리킨다. 함수포인터는 배열에 저장되거나 다른 함수의 인자로 쓰일 수도 있다. 함수 포인터 선언 return_type (*func_name)(parameters) e.g. #include int sum(int a, int b){ return a+b; } int main(){ int (*funptr)(int, int); //포인터 선언 funptr = sum; //포인터 할당 int res = funptr(5, 8); } 함수 포인터 배열 이용 - 조건문 대신 사용 다음과 같이 주어진 입력에 따라 조건문처럼 함..
[C] 문자열 사용법 char str_name[str_len] = "This is a string"; 끝애 자동으로 '\0' 추가됨 문자열 입력받기 scanf() : 형식지정자 이용 scanf("%s", my_string); //& 안쓴다. 문자열 이름 자체가 포인터와 같은 역할 gets() : 엔터 키가 눌릴 때까지 입력받음 gets(my_string); fgets() : 특정 길이의 문자열 읽어옴 buffer overflow 방지 newline character도 저장(gets()와의 차이점) fgets(my_string, 50, stdin); stdin : standard input(키보드) 문자열 출력 printf() puts() : 줄바꿈 puts(str); fputs() fputs(str, stdout); ..
[Python] 예외 예외(Exceptions) ImportErrer: import실패 IndexError: 인덱스 범위 넘어감 NameError: 정의되지 않은 변수 이용 SyntaxError: 코드 파싱 제대로 일어날 수 없음 TypeError: 적합하지 않은 타입으로 함수 호출됨 ValueError: 적합한 타입으로 함수 호출되었으나, 부적절한 값으로 호출됨 예외처리 : try/except except 블록 여러 개 가능. try에서 예외 발생하면 해당 except 블록으로 감. 오류메세지변수 사용가능. else도 추가 가능 try: #statements except 발생오류: #statements except 발생오류 as 오류메세지변수: #statements else: #statements 모든 예외 한번에 처리 -..
[Python] 모듈 모듈이란? 함수, 변수, 클래스를 모아놓은 파일. 직접 만들 수도 있음 모듈 만들기 # mymodule.py라는 이름으로 특정 directory에 저장 def greeting(name): print("Hello "+name) 모듈 불러오기 앞서 저장한 directory에서 수행하기 import mymodule mymodule.greeting("JWon") 모듈 이름 변경하기 : as import mymodule as m1 a = m1.greeting("JWon") print(a) 내장 모듈 (Built-in Modules) 파이썬 내장 모듈 사용 가능 dir() 함수 모듈에 있는 모든 함수, 변수의 이름을 리스트로 반환 import platform x = dir(platform) print(x) 모듈로부..
[Python] 함수 기본 구조 def functionName(arguments): """ Statements Do something """ return #something 변수에 assign, reassign가능 - 레퍼런스 가능 def fun1(arg1, arg2): return arg1+arg2 fun2 = fun1 매개변수로 함수 사용 가능 def fun1(arg1, arg2): return arg1+arg2 def fun2(fun1, arg1, arg2): return arg1 + fun1(arg1, arg2) 매개변수 개수 모를 때 def fun1(*args): for i in args: print(i) 매개변수에 초깃값 미리 설정하기 가능 def fun1(arg=3): print(arg) 함수 밖의 변수를 함수 ..
[Python] 제어문 비교연산자: , ==, =, != and, or, not if condition1 or condition2: do something else: do something else 다른 언어들의 &, |, ! 대신에 and, or, not 을 이용한다 X in S, X not in S S에는 리스트, 튜플, 문자열이 들어갈 수 있다. X가 리스트/튜플/문자열에 있는지 여부에 따라 True / False 반환 if문 hungry = False money = True if hungry and money: print("Go get something to eat") elif hungry and not money: print("Uh oh") else: print("Good") if 뒤 조건 뒤에 : 붙임. 따로 괄호로..
[Python] 입출력 프롬프트 입출력 input() name = input("Enter your name: ") print("Hello, " + name) => string을 반환한다. int(input()) 이용해서 정수로 바꿀 수 있음 input() 여러 번 이용 가능 print() 기본적으로 자료형 출력 가능 ""로 둘러싸면 +연산과 같음 ,는 띄어쓰기 줄 바꾸지 않으려면 end사용 #큰따옴표 (abc) print("a" "b" "c") #띄어쓰기 (a b c) print("a","b","c") #end=' ' print("do not change line", end=' ') print("Good job") Walrus operator := expression안에서 변수에 값을 줄 수 있음. 연산자가 귀엽다 print(..
[Python] 집합 집합 자료형 만들기 : set() s1 = set([1,2,3,4]) #s1 = {1,2,3,4} s2 = set("AABDFC") #s2 = {'A','B','D','F','C'} s3 = set() #빈 집합 만들기 집합의 특징 순서 없음 -> 인덱싱 불가 중복 없음 집합 자료형 이용 다음과 같이 두 개의 집합이 있다고 해보자 s1 = set([2,3,5,7,11]) s2 = set([1,2,3,5,8]) 교집합 구하기 : &, intersection() s1 & s2 s1.intersection(s2) s2.intersection(s1) 위의 계산은 모두 {2,3,5}를 리턴한다. 합집합 구하기 : |, union() s1|s2 s1.union(s2) s2.union(s1) 위의 계산은 모두 {1,..