ในภาษาซีจะมีกฎการตั้งชื่อให้กับ ตัวแปร, function และเลเบล ดังนี้
- ชื่อที่ตั้งจะต้องไม่ซั้ากับคําสงวนในภาษาซี ดังนี้ auto, break , case, char, const, continue , default, do, double , else, enum, extern , float , for, goto, if, int, long , register , return, short, signed , sizeof , static , struct, switch, typedef , union , unsigned, void, volatile, while, _cs, _ds, _es, _ss
- ชื่อต่างๆที่ตั้งจะเป็นแบบ case sensitive คือ ตัวพิมพ์ใหญ่กับตัวพิมพ์เล็กจะถือว่าเป็นคนละตัวกัน เช่น Test, test, tEsT
- ชื่อจะต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย _ เท่านั้น แต่ภายในชื่อสามารถใช้ตัวอักษร เครื่องหมาย _ หรือตัวเลขได้ เช่น Test_val, test1234
- ไม่สามารถเว้นวรรค หรือ tab ภายในชื่อได้
- ไม่สามารถใช้อักขระพิเศษ $, @ #, & ได้