[C] scanf 공백포함 입력받기( '\n' 까지 받기) char name[1000]; scanf("%[^\n]s",name); -> [] 안에 있는 문자를 받을 때 까지 입력을 받는다. 즉 현재는 \n(개행문자)를 받을 때 까지 입력을 받으므로 공백을 포함하여 입력을 받게된다. 만약 's'를 받을 때까지 입력을 받으려면? ex) input: oiijionwrssssss 를 받으면 oiijionwr 까지 받을 수 있게 scnaf("%[^s]s",name); 하면 된다. 프로그래밍/C,C++ 2020.02.04
배열 scanf 로 입력받기 에러 int unt[100]; scanf("%d",unt[0]); 하고 값이 제대로 저장되지 않는다. 상황 unt[0] 가 주소가 아니기때문에 해결법 scanf("%d",&unt[0]); 원인 배열 주소를 구하는 방법은 주소연산자 & 를 붙이거나 ex) for(i=0; i 프로그래밍/C,C++ 2019.05.18
동적으로 할당되는 배열 동적할당?C언어에서 동적할당하는 영역이 따로 있다. = Heap 영역이부분은 사용자가 할당하는 메모리영역이라서 할당과 해제를 사용자가 해줘야된다.ex) int *a = (int*)malloc(sizeof(int)*length);, 한 후에는 free(a) 를 필수로 해야된다.하지 않을 경우, 작은 프로그램의 경우는 영향이 덜하지만, 동적할당으로 힙영역에 많이 할당하게 되는 프로그램의 경우는 뒤에 가서는 메모리 할당 영역이 부족하게 되어 프로그램이 멈추는 상황이 생긴다.그 것이 아니더라도 free 하지않으면 코드를 돌리는 데 원치 않는 값이 나오는 경우도 생긴다 ( 이유는 모르겠다. 경험상..)왜?이건 그냥 경험상인데 시스템 프로그래밍 할 때 많이 쓰이게 되는 것같다. int a[1000000],b[100.. 프로그래밍/C,C++ 2018.09.24