<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hr">
	<id>https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=C_%28programski_jezik%29</id>
	<title>C (programski jezik) - Povijest promjena</title>
	<link rel="self" type="application/atom+xml" href="https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=C_%28programski_jezik%29"/>
	<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=C_(programski_jezik)&amp;action=history"/>
	<updated>2026-08-07T10:27:47Z</updated>
	<subtitle>Povijest promjena ove stranice na wikiju</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://enciklopedija.cc/index.php?title=C_(programski_jezik)&amp;diff=505055&amp;oldid=prev</id>
		<title>WikiSysop: bnz</title>
		<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=C_(programski_jezik)&amp;diff=505055&amp;oldid=prev"/>
		<updated>2022-05-01T17:02:35Z</updated>

		<summary type="html">&lt;p&gt;bnz&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;hr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Starija inačica&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Inačica od 1. svibanj 2022. u 17:02&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Redak 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Redak 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--&#039;&#039;&#039;C (programski jezik)&#039;&#039;&#039;--&amp;gt;&lt;/del&gt;Programski jezik &#039;&#039;&#039;C&#039;&#039;&#039; spada u proceduralne programske jezike koji je razvijen u ranim [[1970-ih|70-im]] godinama [[20. stoljeće|20. stoljeća]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Programski jezik &#039;&#039;&#039;C&#039;&#039;&#039; spada u proceduralne programske jezike koji je razvijen u ranim [[1970-ih|70-im]] godinama [[20. stoljeće|20. stoljeća]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Povijest razvoja==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Povijest razvoja==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://enciklopedija.cc/index.php?title=C_(programski_jezik)&amp;diff=400570&amp;oldid=prev</id>
		<title>WikiSysop: Bot: Automatski unos stranica</title>
		<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=C_(programski_jezik)&amp;diff=400570&amp;oldid=prev"/>
		<updated>2021-12-21T06:34:34Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automatski unos stranica&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova stranica&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--&amp;#039;&amp;#039;&amp;#039;C (programski jezik)&amp;#039;&amp;#039;&amp;#039;--&amp;gt;Programski jezik &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039; spada u proceduralne programske jezike koji je razvijen u ranim [[1970-ih|70-im]] godinama [[20. stoljeće|20. stoljeća]].&lt;br /&gt;
&lt;br /&gt;
==Povijest razvoja==&lt;br /&gt;
&lt;br /&gt;
Autor ovog programskog jezika je [[Dennis Ritchie]], no značajan doprinos nastanku C-a dali su [[Ken Thompson]] kao autor programskog jezika B i [[Martin Richards]], autor programskog jezika [[BCPL]]. Dennis Ritchie je stvorio ovaj programski jezik za rješavanje praktičnih problema kodiranja [[Sistemski program|sistemskih programa]] i jezgre [[operacijski sustav|operacijskog sustava]] [[UNIX]], koji je praktički u cijelosti napisan u &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;-u.&lt;br /&gt;
&lt;br /&gt;
[[Datoteka:Ken Thompson and Dennis Ritchie.jpg|desno|mini|Dennis Ritchie i Ken Thompson]]&lt;br /&gt;
&lt;br /&gt;
Programski jezik &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039; dosta se mijenjao tokom [[godina]] te je u više navrata neformalno i formalno standardiziran. Prva važnija inačica poznata je pod nazivom &amp;quot;K&amp;amp;R C&amp;quot;, što je [[Engleski jezik|engl]]. kratica [[prezime]]na dvaju autora najpoznatijeg C priručnika &amp;quot;The C Programming Language&amp;quot;, a to su [[Brian Kernighan]] i Dennis Ritchie. Prvo izdanje te vrlo sažeto i precizno pisane [[Knjiga|knjige]] koje datira iz [[1978.]] godine ujedno je [[de facto]] standardiziralo jezik u 70-ima. Drugo izdanje iz [[1988.]] godine opisuje &amp;quot;ANSI C&amp;quot;, standard kojeg je [[1983.]] godine definirao [[SAD|američki]] nacionalni institut za standardizaciju, a koji je i danas najbolje podržan. Donedavni je standard bio ISO/IEC standard skraćeno poznat kao &amp;quot;C99&amp;quot;, no krajem 2011. usvojen je ISO/IEC 9899:2011, poznat kao &amp;quot;C11&amp;quot;, za koji su kompajleri još u razvoju.&lt;br /&gt;
&lt;br /&gt;
Kao jedan od najvažnijih jezika u povijesti komercijalne [[Računalo|računalne]] industrije, &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039; je do danas ostao jedini programski jezik prilagođen za sve računalne platforme, od malih sustava pa do mrežnih superračunala. Programi napisani u njemu vrlo su bliski načinu rada [[hardver]]a te u načelu zahtijevaju od programera dobro razumijevanje rada [[Procesor (računarstvo)|procesor]]a, [[Memorija (računala)|memorije]], [[Ulazno-izlazni skolpovi|ulazno-izlaznih sklopova]] itd. No, rad s registrima procesora i adresiranje memorije apstrahirani su pomoću koncepta varijabli i pokazivača što uz eksplicitne kontrolne strukture i funkcije znatno olakšava programiranje u odnosu na izravno programiranje u strojnim jezicima.&lt;br /&gt;
[[Datoteka:The_C_Programming_Language,_First_Edition_Cover_(2).svg|mini|desno|250px|Prvo izdanje knjige &amp;#039;&amp;#039;&amp;#039;Programski jezik C&amp;#039;&amp;#039;&amp;#039;, autora Kernigan, Ritchie]]&lt;br /&gt;
&lt;br /&gt;
==Proširivanje na objektno orijentirano programiranje ==&lt;br /&gt;
&lt;br /&gt;
Tokom [[1980-ih]], [[Bjarne Stroustrup]] zajedno s drugim istraživačima u Bell Labs proširuje &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039; dodavajući sposobnosti objektno orijentiranog programiranja, a naziv ovog novog programskog jezika je [[C Plus Plus|C++]]. Nažalost, takva kompatibilnost također podrazumijeva da su problemi koje programiranje u &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;-u nosi sa sobom naslijeđeni u C++-u. Efikasno i sigurno programiranje u &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;-u vrlo je zahtjevna vještina koja traži višegodišnje iskustvo pa je stoga &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039; jezik koji se ne preporučuje početnicima, posebice ako im programiranje nije primarni posao.&lt;br /&gt;
&lt;br /&gt;
==Uporaba==&lt;br /&gt;
&lt;br /&gt;
C je jezik opće namjene, što znači da se u njemu može napraviti apsolutno sve: od rješavanja [[zadatak]]a, do pisanja &amp;#039;&amp;#039;drivera&amp;#039;&amp;#039;, [[Operacijski sustav|operacijskih susatava]], [[tekst procesor]]a ili [[Računalna igra|igara]]. C, kao jezik, ni u čemu ne ograničava. Omogućuje i uključivanje naredbi pisanih asemblerski, zbog čega je zajedno s mogućnošću direktnog pristupa pojedinim [[bit]]ovima, [[bajt]]ovima ili cijelim blokovima memorije, pogodan za pisanje sistemskog [[softver]]a. Zbog tih karakteristika C je među popularnijim [[Programski jezik|programskim jezicima]] i rabe ga mnogi [[programer]]i. Rezultat toga je postojanje velikog broja prevoditelja za C i alata te stalno dostupne pomoći na [[internet]]u. Programi pisani u C-u su prenosivi (mogu se prevoditi i izvršavati na različitim porodicama računala uz minimalne ili nikakve ispravke) i obično su vrlo brzi. Postoje mnogi [[jezični prevoditelj|prevoditelji]] za jezik C, a jedan od najšire korištenih je [[GNU C Compiler]].&lt;br /&gt;
&lt;br /&gt;
==Problemi==&lt;br /&gt;
&lt;br /&gt;
Mnogobrojni problemi vezani prije svega za upravljanje memorijom koje programer mora sam eksplicitno kodirati razlog su da je danas većina novih korisničkih aplikacija napisana u nekom modernijem jeziku koji ima ugrađeno automatsko upravljanje memorijom (engl. garbage collection), ne dopušta izravan rad s memorijom pomoću pokazivača te ima podršku za upravljanje kodom odnosno njegovom okolinom za vrijeme njegova izvođenja. Danas se relativno rijetko ukazuje potreba za pisanjem novih korisničkih aplikacija izravno u &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;-u, pa čak i u vrlo malim sustavima kao što su primjerice [[mobilni telefon]]i. Glavno područje njegove uporabe su sistemski programi na strani poslužitelja (engl. servers), programi prevoditelji (engl. compilers) i jezgre operativnih sustava (engl. operating system kernels), gdje je potreba za najvećom mogućom brzinom izvođenja, efikasnom kontrolom resursa i izravnom kontrolom hardvera od primarne važnosti.&lt;br /&gt;
&lt;br /&gt;
==Standardi==&lt;br /&gt;
&lt;br /&gt;
===K&amp;amp;R C===&lt;br /&gt;
&lt;br /&gt;
===ISO C / ANSI C ===&lt;br /&gt;
&lt;br /&gt;
===C99&amp;lt;ref&amp;gt;http://www.open-std.org/JTC1/SC22/WG14/www/C99RationaleV5.10.pdf Objašnjenje standarda C99 (engleski), pristupljeno 15. lipnja 2015&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
===C11===&lt;br /&gt;
&lt;br /&gt;
==Skup znakova==&lt;br /&gt;
&lt;br /&gt;
Osnovni skup znakova u programskom jeziku C su:&lt;br /&gt;
&lt;br /&gt;
* Malo i veliko slova abecede: &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;–&amp;lt;code&amp;gt;z&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;–&amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt;&lt;br /&gt;
* Brojevi : &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;–&amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
* Posebni znakovi &amp;lt;code&amp;gt;! &amp;quot; # % &amp;amp; &amp;#039; ( ) * + , - . / : ; &amp;lt; = &amp;gt; ? [ \ ] ^ _ { | } ~&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[bijeli razmak|bijeli razmaci]]: &amp;#039;&amp;#039;[[razmak]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;[[vodoravni razmak]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;[[Okomiti razmak]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;[[prekid stranice]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;[[nova linija]]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Prije pojave standarda C11 u programskom jeziku C u standardu nije bilo moguće umetnuti posebne znakove (UTF8), ratifikacijom standard C11 sada je moguće umetnuti posbene znakove u heksadecimalnom obliku &amp;lt;code&amp;gt;\uXXXX&amp;lt;/code&amp;gt; ili &amp;lt;code&amp;gt;\UXXXXXXXX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Ključne riječi==&lt;br /&gt;
&lt;br /&gt;
Programski jezik C u standardu C89 ima samo 32 ključne riječi, ove riječi nije moguće primijeniti za variable ili za neke druge svrhe kao recimo imena funkcija, konstanti ili slično:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;break&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;const&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;continue&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;do&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;[[double precision|double]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[enumerated type|enum]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:[[External variable|&amp;lt;code&amp;gt;extern&amp;lt;/code&amp;gt;]]&lt;br /&gt;
:&amp;lt;code&amp;gt;[[floating point|float]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[for loop|for]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[goto]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[long integer|long]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;register&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[short integer|short]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;signed&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[sizeof]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:[[Static (keyword)|&amp;lt;code&amp;gt;static&amp;lt;/code&amp;gt;]]&lt;br /&gt;
{{col-break}}&lt;br /&gt;
:&amp;lt;code&amp;gt;[[struct (C programming language)|struct]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[switch statement|switch]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;typedef&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;union&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;unsigned&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[void type|void]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[volatile variable|volatile]]&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[while loop|while]]&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
Stadardom C99 dodaje se još 5 novih riječi:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;_Bool&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;_Complex&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;_Imaginary&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;[[Inline function|inline]]&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-break}}&lt;br /&gt;
:&amp;lt;code&amp;gt;[[restrict]]&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
Standardom C11 dodaje se još 7 novih riječi:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;_Alignas&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;_Alignof&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;_Atomic&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;_Generic&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-break|width=20%}}&lt;br /&gt;
:&amp;lt;code&amp;gt;_Noreturn&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;_Static_assert&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-break}}&lt;br /&gt;
:&amp;lt;code&amp;gt;_Thread_local&amp;lt;/code&amp;gt;&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Struktura programa pisanog u C-u ==&lt;br /&gt;
&lt;br /&gt;
Najjednostavniji program je onaj koji zadani tekst ispisuje na ekran. Da bi se mogao ispravno napisati čak i tako jednostavan program, potrebno je poznavati strukturu programa odabranog programskog jezika.&lt;br /&gt;
&lt;br /&gt;
Struktura programa odnosi se na način pisanja programa i ako se ona ne poštuje, program neće raditi, bez obzira na to što su uporabljene sve potrebne naredbe. &lt;br /&gt;
Svaki program pisan u programskom jeziku C sastavljen je od niza [[funkcija (programiranje)|funkcija]]. Glavna i jedina obavezna funkcija u programu je funkcija &amp;#039;&amp;#039;&amp;#039;main( )&amp;#039;&amp;#039;&amp;#039;. Program se može sastojati i od većeg broja funkcija.&lt;br /&gt;
&lt;br /&gt;
Bitna razlika između C-a i ostalih [[Programski jezik|programskih jezika]] je u tome što u C-u ne postoje ugrađene funkcije. One se nalaze u bibliotekama funkcija koje se isporučuju zajedno s prevoditeljem. Biblioteke funkcija nastale su standardizacijom C-a, pa je dovoljno na početku programa najaviti da će se upotrebljavati određena biblioteka i u cijelom programu dostupne su sve funkcije koje se u njoj nalaze. Tako se biblioteka u kojoj se nalaze funkcije za ulaz i izlaz podataka naziva [[stdio.h]], [[matematika|matematičke]] funkcije nalaze se u biblioteci &amp;#039;&amp;#039;math.h&amp;#039;&amp;#039;, a funkcije za rad sa znakovnim [[varijabla]]ma u biblioteci &amp;#039;&amp;#039;string.h&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Na početku svakog C programa uobičajeno je pisati pretprocesorske naredbe kojima se pozivaju biblioteke funkcija koje se rabe u programu. Opći oblik te naredbe je: &amp;#039;&amp;#039;&amp;#039;#naredba parametri&amp;#039;&amp;#039;&amp;#039;. Najčešće upotrebljavana pretprocesorska naredba je: &amp;#039;&amp;#039;&amp;#039;#include &amp;lt;ime datoteke&amp;gt;&amp;#039;&amp;#039;&amp;#039; i obavezno se piše prije funkcije &amp;#039;&amp;#039;main( )&amp;#039;&amp;#039;. Prevođenjem programa na mjesto naredbe #include kopira se sadržaj navedene datoteke.&lt;br /&gt;
&lt;br /&gt;
Isto tako, prije samog pisanja programa treba istaknuti da se programi napisani u C-u sastoje od niza međusobno povezanih funkcija čiji broj nije ograničen. U svakom programu je obavezna samo jedna funkcija - funkcija &amp;#039;&amp;#039;&amp;#039;main( )&amp;#039;&amp;#039;&amp;#039; koja označava mjesto na kojem počinje izvršavanje programa. Početak i kraj funkcije označava se vitičastim zagradama. &lt;br /&gt;
Nakon svake naredbe u C-u mora stajati znak &amp;#039;&amp;#039;&amp;#039;;&amp;#039;&amp;#039;&amp;#039; koji (kao i u [[Pascal (programski jezik)|Pascal]]u) označava kraj jedne i početak druge naredbe.&lt;br /&gt;
&lt;br /&gt;
== Programski primjer ==&lt;br /&gt;
&lt;br /&gt;
U sljedećem primjeru učitavaju se 2 broja, a nakon učitavanje na zaslonu se ispisuje njihov zbroj:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
	int a, b;&lt;br /&gt;
	scanf(&amp;quot;Prvi broj  %d&amp;quot;,&amp;amp;a);&lt;br /&gt;
        scanf(&amp;quot;Drugi broj %d&amp;quot;,&amp;amp;b);&lt;br /&gt;
	printf(&amp;quot;Njihov zbroj je = %d\n&amp;quot;,a+b);&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U sljedećem primjeru na zaslonu će se ispisati tablica množenja do 10:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void){&lt;br /&gt;
    int a, b;&lt;br /&gt;
    for(a=1; a&amp;lt;=10; a++)&lt;br /&gt;
       for(b=1; b&amp;lt;=10; b++)&lt;br /&gt;
          printf(&amp;quot;%d*%d=%d\n&amp;quot;, a, b, a*b);&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funkcije za ispis ==&lt;br /&gt;
&lt;br /&gt;
=== Ispis teksta ===&lt;br /&gt;
&lt;br /&gt;
Najčešće upotrebljavana funkcija za ispis u C-u je ona za formatirani ispis: &amp;#039;&amp;#039;&amp;#039;printf( )&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Njezina sintaksa ima ovaj oblik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
printf (&amp;quot;niz znakova koji se trebaju ispisati na zaslonu&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zbog već istaknute specifičnosti C-a, koji sve funkcije ima pohranjene u bibliotekama funkcija, potrebno je pretprocesorskom naredbom &amp;#039;&amp;#039;&amp;#039;#include&amp;#039;&amp;#039;&amp;#039; najaviti uporabu biblioteke &amp;#039;&amp;#039;stdio.h&amp;#039;&amp;#039; u kojoj je pohranjena većina ulazno - izlaznih funkcija.&lt;br /&gt;
&lt;br /&gt;
Primjer korištenja funkcije &amp;#039;&amp;#039;&amp;#039;printf( )&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main()&lt;br /&gt;
{&lt;br /&gt;
printf (&amp;quot;Ispiši ovo na zaslon ekrana&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ispis vrijednosti ===&lt;br /&gt;
&lt;br /&gt;
Sam ispis teksta rabi se vrlo rijetko. Namjena svakog programa je obrada [[podatak]]a i prikaz [[rezultat]]a te obrade (ispis dobivenih vrijednosti). Pri ispisu vrijednosti potrebno je definirati format ispisa. Njime se oblikuje način ispisa vrijednosti.&lt;br /&gt;
Pojam formata usko je vezan za tipove podataka.&lt;br /&gt;
&lt;br /&gt;
Podaci u C-u mogu biti:&lt;br /&gt;
&lt;br /&gt;
* [[Cijeli brojevi|cjelobrojni]] (int)&lt;br /&gt;
* [[Realni broj|realni]] (float)&lt;br /&gt;
* realni dvostruke točnosti (double)&lt;br /&gt;
* znakovni (char)&lt;br /&gt;
* tip podataka koji ne sadržava vrijednost (void)&lt;br /&gt;
&lt;br /&gt;
Svaki od navedenih može biti s predznakom (signed) ili bez njega (unsigned). Opsegvrijednosti se može odrediti parametrima &amp;#039;&amp;#039;short&amp;#039;&amp;#039; i &amp;#039;&amp;#039;long&amp;#039;&amp;#039;, koji određuju krajnje vrijednosti svakog tipa. Razlika među njima je u broju [[bit]]ova koje zauzimaju prilikom zapisa u [[Memorija (računala)|memoriji]]:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! !! Tip podataka &lt;br /&gt;
!Vrsta&lt;br /&gt;
!Predznak!! Duljina (broj bajtova)&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx&amp;lt;/ref&amp;gt;!! Opseg&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | int&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |short&lt;br /&gt;
|signed|| 2 || -32768 do 32767&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!unsigned&lt;br /&gt;
!2&lt;br /&gt;
!0 do 65.535&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&amp;#039;&amp;#039;&amp;#039;long&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!signed&lt;br /&gt;
!4&lt;br /&gt;
!–2.147.483.648 do 2.147.483.647&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!unsigned&lt;br /&gt;
!4&lt;br /&gt;
!0 do 4.294.967.295&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |long long&lt;br /&gt;
!signed&lt;br /&gt;
!8&lt;br /&gt;
!–9.223.372.036.854.775.808 do 9.223.372.036.854.775.807&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!unsigned&lt;br /&gt;
!8&lt;br /&gt;
!0 do 18.446.744.073.709.551.615&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
||| 4 || -3.4·10&amp;lt;sup&amp;gt;−38&amp;lt;/sup&amp;gt; do 3.4·10&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| double&lt;br /&gt;
|&lt;br /&gt;
||| 8 || -1.7·10&amp;lt;sup&amp;gt;−308&amp;lt;/sup&amp;gt; do 1.7·10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | char&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |long&lt;br /&gt;
|signed|| 1 || -128 do 127&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|unsigned&lt;br /&gt;
!1&lt;br /&gt;
!0 do 255&lt;br /&gt;
|-&lt;br /&gt;
!5&lt;br /&gt;
!bool&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!1&lt;br /&gt;
!true (1) ili false (0)&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
| void&lt;br /&gt;
|&lt;br /&gt;
||| 0 || bez vrijednosti&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Za ispis vrijednosti upotrebljava se se funkcija &amp;#039;&amp;#039;&amp;#039;printf( )&amp;#039;&amp;#039;&amp;#039; koja je oblika:&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
printf(&amp;quot;lista formata&amp;quot;, lista varijabli);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Najčešće korištene oznake formata za ispis:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! !! Format !! Značenje&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| %c|| oznaka formata za ispis jednog znaka&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| %d|| ispis cijelog broja&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| %f|| ispis realnog broja&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| %lf|| ispis realnog broja tipa double&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| %s|| ispis niza znakova&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
| %e|| ispis realnog broja u E-notaciji&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Izgled ispisa na zaslonu uređuje se unutar dvostrukih navodnika, a u listi varijabli dolazi samo popis varijabli. To prilično olakšava rad s kombiniranim ispisom, jer nema mnogo kompliciranja i kombiniranja naovodnika i zareza kao u ostalim programskim jezicima. Unutar navodnika kreira se izgled ispisa na ekran, a izvan njih redom se navode sve varijable čije se vrijednosti trebaju ispisati. Redoslijed oznaka formata mora odgovarati redoslijedu imena varijabli. Pogrešno zadan format u odnosu na deklaraciju varijable rezultirat će porešnim ispisom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Primjer:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main( )&lt;br /&gt;
{&lt;br /&gt;
printf(&amp;quot;\n rezultat izraza %d+%d je %d&amp;quot;, 3, 2, 3+2);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Na zaslonu će se ispisati:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;rezultat izraza 3+2 je 5&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Aritmetički operatori ==&lt;br /&gt;
&lt;br /&gt;
U programskom jeziku C za [[zbrajanje]] se uoptrebljava aritmetički operator &amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039;. Preostali standardni aritmetički operatori u C-u su: -, *, / i %. Oni se rabe za matematičke operacije:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! !! Operacija !! Operator&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| [[zbrajanje]]|| &amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| [[oduzimanje]]|| &amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| [[množenje]]|| &amp;#039;&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| [[dijeljenje]]|| &amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| modulo (ostatak cjelobrojnog dijeljenja)|| &amp;#039;&amp;#039;&amp;#039;%&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Viši prioritet imaju operatori %, * i /, a niži + i -. Rezultat dijeljenja dvaju cijelih brojeva u C-u je [[cijeli broj]], pa zbog toga ne postoji potreba za posebnim operatorom cjelobrojnog dijeljenja.&lt;br /&gt;
&lt;br /&gt;
== Učitavanje podataka ==&lt;br /&gt;
&lt;br /&gt;
Podatke u programu dijelimo na:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;varijable&amp;#039;&amp;#039;&amp;#039; - podaci čije se vrijednosti tijekom izvođenja programa mijenjanju&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;konstante&amp;#039;&amp;#039;&amp;#039; - podaci čije se vrijednosti ne mogu mijenjati&lt;br /&gt;
&lt;br /&gt;
===Identifikatori===&lt;br /&gt;
&lt;br /&gt;
Varijablama, konstantama i funkcijama dodjeljujemo imena - identifikatore. Oni se sastoje od niza alfanumeričkih znakova (brojke i slova), od kojih prvi znak mora biti slovo ili donja crta (&amp;#039;&amp;#039;&amp;#039;_&amp;#039;&amp;#039;&amp;#039;). Dva identifikatora su različita ako se razlikuju u prva 32 znaka. Identifikatori ne smiju biti ključne riječi programskog jezika C. Programski jezik C razlikuje velika i mala slova, tako da su varijable &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; i &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039; dvije različite varijable.&lt;br /&gt;
&lt;br /&gt;
Za identifikatore nije moguće rabiti &amp;#039;&amp;#039;&amp;#039;ključne riječi&amp;#039;&amp;#039;&amp;#039;. One zajedno sa sintaksom programskog jezika određuju što se i na koji način u određenome programskom jeziku može učiniti. Ključnih riječi u C-u ima poprilično malo (32 ključne riječi definirane [[standard]]om ANSI C) no kasnije su proširivane tako da sada u modernim inačicama programskog jezika C ima 44 (koje čine jezgru jezika i dovoljne su za rješavanje svih problema) i pišu se malim slovima.&lt;br /&gt;
&lt;br /&gt;
===Konstante===&lt;br /&gt;
&lt;br /&gt;
Konstane su vrijednosti koje se zadaju jedanput i ne mijenjaju se tijekom izvođenja programa. S obzirom na tipove podataka razlikuju se &amp;#039;&amp;#039;&amp;#039;cjelobrojne&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;realne&amp;#039;&amp;#039;&amp;#039; i &amp;#039;&amp;#039;&amp;#039;znakovne&amp;#039;&amp;#039;&amp;#039; konstante.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Cjelobrojne konstante&amp;#039;&amp;#039;&amp;#039; su cijeli brojevi iz dopuštenog opsega, zapisani u standardnom obliku.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Realne konstante&amp;#039;&amp;#039;&amp;#039; sadržavaju realne brojeve s predznakom ili bez njega, zapisane u standardnom obliku tako da decimalna točka odvaja cjelobrojni dio od decimalnoga. Mogu se zapisati i u eksponencijalom obliku. Pvi dio takvog zapisa je realan broj (s predznakom ili bez njega), zatim slovo e ili E i iza njega cijeli broj (s predznakom ili bez njega), npr. broj 0.02 može biti zapisan kao 2E-2.&lt;br /&gt;
&lt;br /&gt;
Od numeričkih konstanti C dopušta još i oktalne i heksadekadske konstante. Oktalne konstane počinju s 0, a heksadekadske s 0x. (npr. 044 - oktalna, 0xaba - heksadekadska).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Znakovne konstante&amp;#039;&amp;#039;&amp;#039;  zadaju se unutar jednostrukih navodnika - literala &amp;#039; &amp;#039; i uglavnom se sastoje od jednog znaka (osim već spomenutih znakovnih konstanti koje se rabe za kontrolu ispisa). Vrijednost znakovne varijable odgovara numeričkoj vrijednosti koja odgovara ASCII kodu znaka koji se nalazi unutar jednostrukih navodnika. Tako je numerička vrijednost znakovne konstante &amp;#039;Z&amp;#039; 90. Znakovne konstante mogu se pojavljivati u aritmetičkim izrazima i tada se upotrebljava isključivo njihova numerička vrijednost.&lt;br /&gt;
&lt;br /&gt;
Osim navedenih tipova konstanti, programski jezik C definira i &amp;#039;&amp;#039;&amp;#039;konstantu niza znakova&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;string constant&amp;#039;&amp;#039;), koja se sastoji od niza znakova unutar para navodnika, npr. &amp;quot;konstanta&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Neke znakovne konstante za kontrolu ispisa:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
\f - nova stranica&lt;br /&gt;
&lt;br /&gt;
\n - novi red&lt;br /&gt;
&lt;br /&gt;
\r - povratak na početak linije&lt;br /&gt;
&lt;br /&gt;
=== Funkcije za učitavanje ===&lt;br /&gt;
&lt;br /&gt;
Za unošenje podataka s tipkovnice u C-u postoji nekoliko funkcija. Najčešće se rabi funkcija za formatirani unos podataka &amp;#039;&amp;#039;&amp;#039;scanf( )&amp;#039;&amp;#039;&amp;#039;. Njezina je sintaksa:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
scanf(&amp;quot;lista_formata&amp;quot;,lista_varijabli);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kao i kod funkcije printf( ), u &amp;#039;&amp;#039;&amp;#039;listu formata&amp;#039;&amp;#039;&amp;#039; upisuju se oznake formata za tip varijabli, a u &amp;#039;&amp;#039;&amp;#039;listu varijabli &amp;#039;&amp;#039;&amp;#039; popis imena varijabli istim redoslijedom kao u popisu formata. Varijable navedene u listi međusobno se odvajaju zarezom. Budući da se u C-u njihove vrijednosti prenose s pomoću adrese, ispred imena imena svake varijable treba dodati i adresni &amp;#039;&amp;#039;&amp;#039;operator &amp;amp;&amp;#039;&amp;#039;&amp;#039; (operator za dodjeljivanje adrese).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Oznake formata tipa varijabli&amp;#039;&amp;#039;&amp;#039; jednake su onima koje se upotrebljavaju u ispisu, ali mora se paziti kako se odvajaju u listi formata, jer to određuje način unosa podataka pri izvođenju programa. Ako su oznake formata odvojene zarezom, i vrijednosti varijabli se prilikom unošenja podataka odvajaju [[zarez]]om. Ako nema zareza, vrijednosti se odvajaju razmakom.&lt;br /&gt;
&lt;br /&gt;
== Deklaracija varijabli u C-u ==&lt;br /&gt;
&lt;br /&gt;
[[Podaci]] čije će se [[vrijednost]]i mijenjati tijekom izvođenja programa (varijable) moraju se prije sam uporabe najaviti (deklarirati). Deklaracijom se zadaju &amp;#039;&amp;#039;&amp;#039;tip&amp;#039;&amp;#039;&amp;#039; i &amp;#039;&amp;#039;&amp;#039;ime varijable&amp;#039;&amp;#039;&amp;#039;. Varijable se najčešće deklariraju na samome početku programa, ali to nije uvjet.  Varijabla se u C-u može deklarirati izvan svih funkcija, na početku funkcije ili na početku bloka naredbi.&lt;br /&gt;
&lt;br /&gt;
Opći oblik naredbe za deklaraciju jest:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
tip_podataka lista varijabli; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip_podataka&amp;#039;&amp;#039;&amp;#039; jedan je od osnovnih ili korisnički definiranih tipova podataka, a &amp;#039;&amp;#039;&amp;#039;lista_varijabli&amp;#039;&amp;#039;&amp;#039; niz je imena varijabli (odvojenih zarezom) koje će tijekom izvršavanja programa sadržavati vrijednosti zadanog tipa podataka.&lt;br /&gt;
&lt;br /&gt;
Naredbom za deklaraciju se u memoriji rezervira memorijska lokacija za svaku varijablu navedenu u listi varijabli. Veličina rezerviranog prostora ovisi o navedenom tipu podataka (2 bajta za broj tipa &amp;#039;&amp;#039;int&amp;#039;&amp;#039;, 4 za &amp;#039;&amp;#039;float&amp;#039;&amp;#039;...).&lt;br /&gt;
&lt;br /&gt;
Tako se naredbama:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int a, b, c;&lt;br /&gt;
float x, y;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
u memoriji rezervira 5 zasebnih lokacija. Za varijable a, b i c one su veličine 2, dok su za varijable x i y veličine 4 [[bajt]]a.&lt;br /&gt;
&lt;br /&gt;
== Naredba pridruživanja ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Naredbom pridruživanja&amp;#039;&amp;#039;&amp;#039;  varijablama se zadaju ili mijenjaju vrijednosti.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Operator pridruživanja&amp;#039;&amp;#039;&amp;#039; u programskom jeziku C je &amp;#039;&amp;#039;&amp;#039;=&amp;#039;&amp;#039;&amp;#039;. Njegova je uloga da vrijednost izraza s [[desno|desne]] strane pridruži varijabli na [[lijevo]]j strani. Operator pridruživanja ima najniži prioritet izvršavanja.&lt;br /&gt;
&lt;br /&gt;
Opći oblik naredbe za pridruživanje vrijednosti je:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
varijabla=izraz;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Več je rečeno da se varijable u C-u mogu najaviti izvan svih funkcija, na početku funkcije ili na početku bloka naredbi. Područje djelovanja određene varijable ovisi o mjestu na kojem je deklarirana, pa ovisno o tome, varijable mogu biti:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;globalne&amp;#039;&amp;#039;&amp;#039; - deklariraju se izvan svih funkcija i mogu se rabiti u cijelom programu&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;lokalne&amp;#039;&amp;#039;&amp;#039; - varijable koje se deklariraju na početku funkcije ili kao argumenti funkcije i dostupne su samo u toj funkciji (ili bloku naredbi). Izvan funkcije ili bloka lokalne varijable ne postoje. Imena tih varijabli u različitim funkcijama ili blokovima mogu biti ista.&lt;br /&gt;
&lt;br /&gt;
Definicijom globalne varijable automatski joj se dodjeljuje vrijednost 0, dok lokalne varijable ne sadržavaju početnu vrijednost i moraju se inicijalizirati posebnom naredbom tijekom deklaracije ili nakon nje (ali prije njezina prvog korištenja). Početne vrijednosti varijablama se dodjeljuju naredbom pridruživanja.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Primjer:&amp;#039;&amp;#039;&amp;#039;  Naredbom &amp;#039;&amp;#039;int a=5;&amp;#039;&amp;#039; deklarirana je cjelobrojna varijabla a i pridružena joj je početna vrijednost 5. Isti efekt postiže se ako se varijabla &amp;#039;&amp;#039;a&amp;#039;&amp;#039; deklarira (&amp;#039;&amp;#039;int a;&amp;#039;&amp;#039;) prije, a naknadno joj se dodijeli početna vrijednost (&amp;#039;&amp;#039;a=5&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
==Biblioteke programa==&lt;br /&gt;
&lt;br /&gt;
==Poznate inačice==&lt;br /&gt;
&lt;br /&gt;
==Izvori==&lt;br /&gt;
{{izvori}}&lt;br /&gt;
&lt;br /&gt;
== Vanjske poveznice ==&lt;br /&gt;
* [http://www.cprogramming.com/ Programiranje u C-u i C++-u]&lt;br /&gt;
* [http://code-reference.com/ C-u i C++-u Library / Reference]&lt;br /&gt;
*[https://c.happycodings.com/ Happy Codings]&lt;br /&gt;
&lt;br /&gt;
[[Kategorija:Programski jezici]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>