조무위키
조무위키
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보
행위
문서
토론
편집
역사 보기
C언어
편집하기 (부분)
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
== 개요 == 50년대만해도 꼼쀼타에 직접 이진수 코드 01001... 치는게 좃같아서 어셈블리어를 만들었음. 어셈블리는 기계어와 1대1대응하기 때문에 MOV !FCNT,#8 이렇게 뭔개소린지 ,지랄같았음 그래서 만든게 C언어. 저급언어: ㄱㅣ계어 , 어셈블리어... 고급언어: c언어 java 베이sic... 위에서 알 수 있듯이 사람언어와 가장 가까운걸 고급언어라 한다. 저급언어는 010101010110 이렇게 개소리같고 컴퓨터에 촤적화된걸 말한다. 또 ADD R2, R1 이런 어셈블리어도 저급언어에 속한다. ㄴ내가 대충 적다보니 착각한거 같아서 다시 적는데, 내가 말한 건 저수준 언어에 가깝다지 그냥 저수준 언어라는게 아니었음;;; 솔직히 C언어 지금 보면 비교적 저수준에 가까운 건 맞잖아, 안그래? 메모리 할당도 지가 풀어야 하고, 사람 편의성보다 기계적 속도에 맞춘 세팅도 많고, 최적화도 나중의 언어가 속도 조금 희생해도 확실히 구동하게 바꾸는 경우도 있는 반면 C언어와 C++은 걍 개발자 수준을 믿잖아. ㄴ 너 말도 맞다. ㅇㅇ 위에 적혀있듯 C언어도 지금 보면 꽤 저수준적인 면모를 보인다. 난이도로 치면 기계어가 좆자고 어셈블리어가 향찰, 이두라 하면 C언어는 오늘날 훈민정음 정도의 위치에 있다고 볼 수 있다. C언어로 게임을 짜보면 뭔 말인지 이해가 갈 것이다. 메모리 할당 같은걸 [[너]]가 직접 다 해줘야 한다.. [[네덕]] 새끼들은 이걸 배우면 해킹을 할 수 있다고 믿는 모양이다. [[유우키 아스나]] 문서 개요 문단의 캡쳐본을 보자. C언어 배우면 너 먼저 털어준댄다ㅋㅋ malloc free 씹극혐. ㄴ 왜 비주얼 스튜디오 2015는 가변 길이 배열이 안돼냐 ㅅㅂ 너가 컴퓨터 관련 학과인데 동적할당을 모르면 자퇴 아니면 전과를 추천한다 씨발 틈만나면 쓴다. 이 좆같은새끼가 네트워크 통신으로 들어오면 존나 고마워진다. 사실 나는 자바를 배운적이 없어서 모르겠지만 자바로 통신을 하려고할때 구조체가 없어서 바이트단위로 패킷을 날리는게 좀 좆같았는데 C언어는 구조체로 알아서 나눠서 보내고 받을 수 있기 때문에 존나 편하다. 앙기모띠 씨발근데 코딩하기 존나싫다 께임을 하다 트롤링에 빡쳐서 상대를 해킹할 때 배워야하는 언어이다. 실제로 "내가 해킹하려고 c언어 배우고 있거든?" 발언한 사례가 있다. === 안녕, [[헬조선]] === <source lang="cpp"> #include <stdio.h> int main() { printf("안녕 헬조선!\n"); /*대학교가면 이걸로 삼각형 출력하는 프로그램 만드는 지랄을 함*/ printf("안녕하신가 힘세고 강한 아침\n"); return 0; } </source> <source lang="cpp"> #include <stdio.h> #include <string.h> int main() { int score = 40; char grade[5]; if(score >= 90) strcpy(grade,"A+"); else if(score < 90 && score >= 50) grade[0] = 10 - (int)(score / 10) + 63; else strcpy(grade,"dick"); printf("당신의 점수와 등급은 %d,", score); for(int i = 0; i < strlen(grade); i++) printf("%c",grade[i]); printf("입니다. 축하합니다 병신아 전문대에 오신것을 환영합니다\n"); } </source> <source lang="cpp"> typedef unsigned char* byte_pointer; void show_bytes(byte_pointer start, int len){ for(int i = 0; i < len; i++) { printf(" %.2x", start[i]); } } int main() { for(int i = 0; i < 99999899; i++) { int val = 0x00000001 * i * 100; byte_pointer valp = (byte_pointer) &val; show_bytes(valp,100); } } // 올릴거면 이런 유익한 예제를 올려라. csapp 예제 응용이다. // 전혀 유용하지가 않다 차라리 스왑예제가 인생에 더 유익할거다. </source> <source lang="cpp"> #include <stdio.h> void swap(int* a, int* b){ *a ^= *b; *b ^= *a; *a ^= *b; } int main(int argc, char* argv[]) { int num1 = -10; int num2 = 35; printf("%d %d",num1, num2); // 출력 결과 : -10 35 swap(&num1, &num2); printf("%d %d",num1, num2); // 출력 결과 : 35 -10 return 0; } //그래서 스왑 예재도 올렸다. 싸우지 말고 야스해라 </source>
요약:
조무위키에서의 모든 기여는 CC BY-SA 4.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
조무위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)