create account

1. C언어 기본 지식 by kimdy

View this thread on: hive.blogpeakd.comecency.com
· @kimdy · (edited)
$11.63
1. C언어 기본 지식
공부를 할때도 그 공부에 대한 배경지식을 쌓듯이 C언어도 기본 개념과 기본지식이  필요하다고 느껴서 포스팅하게됩니다.
C언어를 공부하기전에 누가 이 언어를 개발했는지 모르고 쓰면 개발자가 서운해 하겠죠?
평소에 게임을 할때 적어도 어느회사 게임인지 알고하는것처럼 먼저 개발자가 누군지 살펴봅시다.

**개발자** : 미국의 벨연구소 소속에 **리치**라는 분께서 만들었습니다.

**그렇다면 C언어는 어느 분야에 사용될까요?**

바로 우리가 컴퓨터를 사용할때 없으면 안 될 존재인 **운영체제**에 사용됩니다. 
운영체제 중에서도 컴퓨터에 관심이 있으신 분들이라면 한번쯤은 들어보셨을
 **리누스 토발즈**가 개발한 운영체제 **리눅스**역시 C언어 기반 운영체제입니다. 
추가로 제가 옛날에 리눅스 마스터2급 자격증을 딸까하면서 공부했을때 
**리눅스**가 **유닉스**를 모티브로하여 무료로 만들었다고 합니다.
P.s)리눅스가 유닉스는 가격이 비싸서 유닉스가 싫어서 리눅스를 만들었다는 말이 있습니다.
그러므로 역시 **유닉스**도 C언어 기반이라는 소리죠.
그리고 가상화폐 역시 C언어의 업그레이드 버전이라   볼수있는 C++,파이썬 등으로 만들어졌습니다.

**그렇다면 왜 C언어를 가장 먼저 배울까요?**

1. 많은 다른언어들 중에 C언어로 만들어진 언어들이 있다.
2.  컴퓨터 **보안, 시스템 해킹**에 관심이 있으신 분들은 **리버싱**이라는 역공학기술을 아실것입니다. 
일단 C언어는 **컴파일러**라는것을 통해 C언어의 소스를 **컴파일러**로 **컴파일**을 해서 컴퓨터가 알아들을 수 
있는 **기계어(2진수의 숫자(0,1))** 로 변환해서 컴퓨터에 명령을 하는 것입니다.
언어에는 **저급언어**(기계어, 어셈블리어)와 **고급언어**(C언어 , 자바 , 파이썬 등등) **최고급언어**인 사람들의 언어 자연어가 있죠. 여기서 기계어를 공부해서 기계어로 프로그래밍 하는것은 불가능하다고 볼정도로 어려운일입니다. 만약 가능한 사람이 있다면 그 사람은 컴퓨터와 직접 대화가 가능하고, 모든 컴퓨터안의 프로그램을 해킹할수 있을것입니다.
또, **기계어**와 같이 **저급언어**인 *어셈블리어**는 **기계어**와 1:1로 대화가 가능하고 **어셈블러**라는 것을 이용해야 **기계어**로 변환이 됩니다.  그래서 **어셈블리어**를 아는것도 아주 강력한데요. 프로그램을 **디버거**라는 툴을 통해 프로그램을 디버깅하면 **어셈블리어**로 이루어진 텍스트(?)가 나오는데 이것으로 분석을하여 이 프로그램이 어떻게 코딩되어있는지  알 수있습니다.
**하지만 이때  C언어를 모르면 어셈블리어를 C언어로 바꾸지 못하겠죠**
이건 추가인데 어셈블리어는 하드웨어에대한 구조를 잘 알아야 하지만 C언어는 잘 몰라도 됩니다.  왜냐하면 어셈블리어는 모든것이 컴퓨터에 적합한 진수와 메모리로 이루어져 있기 때문 입니다.

**긴 글 읽어주셔서 감사합니다. 이건 그냥 저의 지식이기 때문에 상세히는 다루지 못하였지만 그래도 조금이라도 도움이 되셨으면 하는 마음으로C언어 공부에 대한 첫 포스팅을 마치겠습니다.**
**혹시 제가 잘못알고있거나 추가로 알고계신 내용있다면 댓글로 지식을 공유합시다 ^^**
좋은 하루 보네세요~~
👍  , , , , , , , , ,
properties (23)
authorkimdy
permlink1-c
categorykr
json_metadata{"tags":["kr","programming","kr-newbie","kr-dev","steemit"],"app":"steemit/0.1","format":"markdown"}
created2017-06-28 10:45:36
last_update2017-06-28 10:57:42
depth0
children9
last_payout2017-07-05 10:45:36
cashout_time1969-12-31 23:59:59
total_payout_value8.828 HBD
curator_payout_value2.797 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,588
author_reputation162,559,595,502
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,460,871
net_rshares1,339,430,823,209
author_curate_reward""
vote details (10)
@deathnote9 ·
ㅎㅎ 좋은정보 감사드려요~
properties (22)
authordeathnote9
permlinkre-kimdy-1-c-20170629t002945353z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-29 00:29:45
last_update2017-06-29 00:29:45
depth1
children1
last_payout2017-07-06 00:29:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length14
author_reputation94,070,047,675
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,552,574
net_rshares0
@kimdy ·
조금이나마 도움이 되서 기쁘네요 긴 글읽으시느라 수고하셨습니다 : )
properties (22)
authorkimdy
permlinkre-deathnote9-re-kimdy-1-c-20170629t071437727z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-29 07:15:15
last_update2017-06-29 07:15:15
depth2
children0
last_payout2017-07-06 07:15:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length38
author_reputation162,559,595,502
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,588,000
net_rshares0
@geunwoong0624 ·
C언어를 배우고 다른언어들을 배우면서 느끼는 점인데 C라고 하는 언어는 파고들수록 그 진가와 그매력이 확 와닫게 느껴지는거 같네요ㅎ
좋은정보감사합니다! 
보팅과 팔로우 하고 가겠습니다ㅎ
앞으로도 좋은 정보들 올려주시면 감사하겠습니다ㅎ
properties (22)
authorgeunwoong0624
permlinkre-kimdy-1-c-20170629t121817720z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-29 12:18:18
last_update2017-06-29 12:18:18
depth1
children1
last_payout2017-07-06 12:18:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length130
author_reputation203,516,395,886
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,615,172
net_rshares0
@kimdy ·
그러게요 c를 더 팔려고 win32 api라는것을 알게되고 soeb이라는 사이트에서 공부를 해보려하는데 c언어는 정말 끝이 없는것같아요 저도 geunwoong0624님 포스팅에서 유용한글 기대합니다^^
properties (22)
authorkimdy
permlinkre-geunwoong0624-re-kimdy-1-c-20170629t125723406z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-29 12:58:00
last_update2017-06-29 12:58:00
depth2
children0
last_payout2017-07-06 12:58:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length112
author_reputation162,559,595,502
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,619,490
net_rshares0
@kdj ·
Dennis Ritchie 는 UNIX 를 위해서 C 언어를 만들었고, The C Programming Language 라는 C 의 고전을 저술하였습니다. (Brian Kernighan 공저) 이 책은 얇은 듯 해서 쉽게 접근할 수 있을 것 같지만, 고급 수준의 프로그래밍과 UNIX 에 대한 이해가 필요합니다. 대개 책장 전시용으로 하나씩 소장되고 있습니다.

이 때 C를 K&R C 라고 하며, 이 후 ANSI C 로 표준,통합 작업이 진행되었습니다.

모든 언어는 Language Specification 이 있는데, C 의 경우는 표준화된 연도에 따라서 C89, C90, C95, C99, C11(2011) 의 순으로 스펙이 발전해 가고 있습니다.

가장 대표적인 C 컴파일러는 GCC (GNU C Compiler) 가 있으며, MS C 컴파일러도 사용됩니다. 운영체제에 따라서 소스코드를 변경해야 하는 불편함이 존재합니다.
C 언어로 배포된 소스를 컴파일 하기란 쉬운일이 아닙니다.
Make, ar 등의 도구에 대해서 잘 이해하고 있어야 하며, 라이브러리의 관계에 대해서도 알아야 하므로 꽤나 어려운 언어라 할 수 있습니다.

Dannis Ritchie 는 안타깝게도 2011년에 작고하였습니다.
properties (22)
authorkdj
permlinkre-kimdy-1-c-20170628t163416698z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-28 16:34:18
last_update2017-06-28 16:34:18
depth1
children1
last_payout2017-07-05 16:34:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length618
author_reputation4,188,781,313,300
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,499,443
net_rshares0
@kimdy ·
kdj님 댓글과 블로그를 보니까 정말 깊이있게 공부하신 전문가 포스가 느껴지시네요. 덕분에 새로운 지식을얻어갑니다. 좋은하루되세요 :)
properties (22)
authorkimdy
permlinkre-kdj-re-kimdy-1-c-20170628t230801544z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-28 23:08:39
last_update2017-06-28 23:08:39
depth2
children0
last_payout2017-07-05 23:08:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length75
author_reputation162,559,595,502
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,545,118
net_rshares0
@kimdy ·
제가 하나 말씀드리지 못했는데 다른 포스팅하면서 중간중간 추가 지식을 포스팅 하겠습니다. 궁금하신것있으면 제가 아는선에서 설명해드리겠습니다. 댓글에 언제든지 물아보십시오 : )
properties (22)
authorkimdy
permlinkre-kimdy-1-c-20170628t105436771z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-28 10:55:12
last_update2017-06-28 10:55:12
depth1
children0
last_payout2017-07-05 10:55:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length98
author_reputation162,559,595,502
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,461,809
net_rshares0
@lab106 ·
친절한 설명에 관심없는 분들도 흥미를 가질것 같네요:)
properties (22)
authorlab106
permlinkre-kimdy-2017628t221338829z
categorykr
json_metadata{"tags":"kr","app":"esteem/1.4.5","format":"markdown+html","community":"esteem"}
created2017-06-28 13:13:42
last_update2017-06-28 13:13:42
depth1
children1
last_payout2017-07-05 13:13:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length30
author_reputation417,482,198,443
root_title"1. C언어 기본 지식"
beneficiaries
0.
accountesteemapp
weight500
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,475,467
net_rshares0
@kimdy ·
ㅎㅎ 과찬이십니다~~
properties (22)
authorkimdy
permlinkre-lab106-re-kimdy-2017628t221338829z-20170628t131439655z
categorykr
json_metadata{"tags":["kr"],"app":"steemit/0.1"}
created2017-06-28 13:15:15
last_update2017-06-28 13:15:15
depth2
children0
last_payout2017-07-05 13:15:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length11
author_reputation162,559,595,502
root_title"1. C언어 기본 지식"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,475,662
net_rshares0