조무위키
조무위키
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보
행위
문서
토론
편집
역사 보기
C언어
편집하기 (부분)
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
미리 보기
고급
특수 문자
도움말
문단 제목
2단계
3단계
4단계
5단계
형식
넣기
라틴 문자
확장 라틴 문자
IPA 문자
기호
그리스 문자
그리스어 확장
키릴 문자
아랍 문자
아랍어 확장
히브리 문자
뱅골어
타밀어
텔루구어 문자
싱할라 문자
데바나가리어
구자라트 문자
태국어
라오어
크메르어
캐나다 원주민 언어
룬 문자
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
서식 지정
링크
문단 제목
목록
파일
토론
각주
설명
입력하는 내용
문서에 나오는 결과
기울임꼴
''기울인 글씨''
기울인 글씨
굵게
'''굵은 글씨'''
굵은 글씨
굵고 기울인 글씨
'''''굵고 기울인 글씨'''''
굵고 기울인 글씨
설명
입력하는 내용
문서에 나오는 결과
각주
Page text.<ref>[https://www.example.org/ Link text], additional text.</ref>
Page text.
[1]
이름이 지정된 각주
Page text.<ref name="test">[https://www.example.org/ Link text]</ref>
Page text.
[2]
같은 각주의 추가 사용
Page text.<ref name="test" />
Page text.
[2]
각주 표시
<references />
↑
Link text
, additional text.
↑
Link text
==입문자에게 도움될만한 팁== 자신이 정말 언어쪽에 소질이 있거나 머리가 비상하지않으면 노오오오오오오력 할수밖에 없다 노오오오오오력과 진짜 주위에좀 물어봐라 독학하다가 게임만 처하지말고 좀 븅신들아 ===진짜 초보자용 주의사항=== ---- 만약 본인이 프로그래밍 처음 시작하는 사람인데 주변 사람이나 인터넷으로부터 각종 얘기를 듣고 그걸 바탕으로 첫 언어를 c로 선택했다면 웬만해선 python이나 java 등의 언어로 바꾸길 권한다. 진지하게 프로그래머로 살아갈 생각이라면 언젠가는 c를 반드시 배워야 되는게 맞다. 하지만 윈도우에 비주얼 스튜디오 깔고 헬로월드 구구단 별찍기 정도로만 하게될 초심자 입장에서 c는 그저 좆같이 불편하고 세그멘테이션 폴트나 내뱉는 고물일 뿐이다. c가 강력한 언어일 수 있는건 포인터를 활용해 고수준 언어 중에서 비교적 자유롭게 하드웨어를 제어할 수 있다는 점이다. 그래서 임베디드, 커널 분야에서는 c가 아직도 대세다. 하지만 이건 자신이 시스템 아키텍쳐에 어느정도 이해를 갖췄을때 가능한 얘기고, 초보자들에게는 하드웨어 제어라는 강점이 좆대로 작동해서 버그를 생산한다는 단점으로만 보일 뿐이다. io도 몰라서 stdio.h를 studio.h로 잘못쓰는 사람이 태반인데 그럴 수 있을리가 만무하다. 거기에 포인터, 배열, 동적할당까지 얘기하면... 반도 못가서 사람들 대부분 나가떨어진다. 자동완성이 없던 시대에 나온 물건이라 죄다 약자 투성이인 것도 이해하기 어렵게 만드는 데 한몫한다. stdio가 그 약자의 무수한 흔적들 중 하나임. 함수나 예약어 대부분이 축약어다. 요약하자면 c를 배우고 싶다면 그 전에 하드웨어와 시스템에 대해 지식을 어느정도 쌓고 오거나 공부를 병행할것 이 외에도 몇가지 이유때문에 c는 갈수록 입문용 언어로는 권장하지 않는 추세다. 국내외 유수의 컴공과에서도 신입생 입문용 언어를 python java 등으로 바꾸는게 대세다. it는 대세를 빨리 캐치하고 거기에 따라가는 것이 중요하다. 여러분들도 어지간해서는 대세를 따르는게 좋을것이다. 특히 초심자일수록. 자꾸 c가 깊게 안파면 기초니까 좋다는 주장이 나오는데, 그렇게 배울거면 OOP가 적용된 타 언어로 입문하는게 낫다. 순서지향으로 머리가 굳어버리면 고치기 존나 힘들다. ===가끔 실수하는 것들=== ---- 가장 큰 실수는 좋은 gcc를 두고 귀찮은 VC를 쓴다는 것이다 니네들 존나 프로젝트 개쩔게 하는 것도 아니잖아 걍 터미널이나 cmd에서 컴파일하자 ㄴ그건 더 귀찮잖아 ㄴvim으로 코드짜고 gcc로 컴파일하고 gdb로 디버깅하는게 어떻게 더 좋냐 븅신아 [[파일:Descr1.png|200픽셀|섬네일|가운데|FILE탭을 누른 후 New->Project...]] 처음 배우는 애들이 가끔씩 Win32 Console Application 항목이 아닌 Win32 Project를 누르는 경우가 있다. 도스로 예제를 작성하거나 만든다면 Win32 Console Application을 눌러라 안그러면 오류난다 [[파일:Descr2.png|200픽셀|섬네일|가운데|FILE탭을 누른 후 New->Project...->OK]] 딱히 실수는 아닌데 웬만하면 Empty Project누르고 하는게 좋다 안그러면 미리 만들어진 프로젝트가 생성되는데 책에서는 대체로 Empty Project를 체크후 예제를 적는데 체크 안하고 할 경우 헷갈려한다. * 부디 함수 정의부, 조건문, 반복문 등의 구문에는 세미콜론 찍지마라 특히 반복문은 그렇게하면 오류 안뜬 상태로 블록안의 내용 무시하고 반복한다 * 책 뒷장 먼저 피지마라 * C언어를 제대로 배울거면 .cpp 말고 .c로 확장자 바꿔라 * void main() 안쓰길 바란다 나중에 교수한테 까일지도 모른다 (ISO 9899:1999 표준안 참고) * 문자열 대입한답시고 char[] 형 변수에 "내용"같은 리터럴 상수를 대입하거나 다른 char[]형 변수를 대입하지마라 (리터럴 상수 대입은 초기화만 가능) string.h 헤더파일 추가하고 strcpy 함수 써라 * 문자열 비교는 if(var == "어쩌고") 가 아니라 if(strcmp(var,"어쩌고") == 0) 로 해야한다 안그러면 주소 비교하는거다. (배열변수의 이름은 배열의 시작주소를 나타낸다는 것을 잊지말길) 위의 내용은 if(*var == *"어쩌고")로 비교할 수도 있다. * 그냥 씨발아 자바 배워 ㄴ 자바 존나느려 * 전역변수 사용 할꺼면 확장자를 c++로 만들어야 오류가 나지 않는다. ===쓸만한 꿀 함수=== ---- 컴파일러마다 지원하는 함수가 있고 하지 않는 함수도 있으니 조심해서 쓰길 printf 이런건 적지 않겠다. scanf (soocanf) 이런것도 적지 않겠다. 물론 이것도 못하는 새끼들이 있더만... Sleep (); 잠을잔다. '''<stdlib.h>''' - int atoi(const char *str); // 인자로 넣은 문자열을 숫자로 반환시켜준다. (<nowiki>"111"</nowiki> 넣으면 숫자 111로 반환) - char *itoa(int value,char *str,int radix); // 숫자를 넣고 문자열 변수를 넣으면 숫자가 문자열로 변환되어 나온다! (radix는 진수) 표준이 아니니까 조심하자. 참고로 toi는 int 형으로 바꾸겠다는 의미의 이름이다. (to int) double이나 float은 약자로 d랑 f를 쓰므로 ~tod나 ~tof로 쓰면 된다. 그렇지만 이것들보다 sscanf나 sprintf를 쓰는게 더 낫다. 저것들은 ANSI 표준이 아니다. - int rand(); // 의사난수를 반환한다 쓰기전에 srand 함수를 써줄 것. - void * malloc(size_t size); // size만큼의 공간을 할당하고 반환한다 이걸로 동적 배열을 만들 수 있다. 자매품으로 calloc realloc이 있다. (free로 마지막에 할당해제 해야한다, VS는 자동으로 해제해준다 그러나 다른 시스템에서는 반드시 쓰자) (존나 쓰기 어렵다.) '''<math.h>''' - double pow(double x,double y); // x의 y제곱을 반환한다. - double sqrt(double x); // 루트 x를 구해줌 삼각함수,삼각함수의 역함수 등이 있으므로 찾아보면 좋음
요약:
조무위키에서의 모든 기여는 CC BY-SA 4.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
조무위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)