{"id":13574523,"url":"https://github.com/tomiis4/CLang","last_synced_at":"2025-04-04T15:31:16.558Z","repository":{"id":137449836,"uuid":"552006511","full_name":"tomiis4/CLang","owner":"tomiis4","description":"My CLang projects with cheatsheet","archived":false,"fork":false,"pushed_at":"2023-10-02T16:41:26.000Z","size":217,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-05T09:44:46.121Z","etag":null,"topics":["c","c-cheatsheet","cheatsheet"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomiis4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-15T15:48:53.000Z","updated_at":"2024-07-26T10:56:01.000Z","dependencies_parsed_at":"2023-10-02T21:28:47.891Z","dependency_job_id":null,"html_url":"https://github.com/tomiis4/CLang","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomiis4%2FCLang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomiis4%2FCLang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomiis4%2FCLang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomiis4%2FCLang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomiis4","download_url":"https://codeload.github.com/tomiis4/CLang/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247202711,"owners_count":20900829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","c-cheatsheet","cheatsheet"],"created_at":"2024-08-01T15:00:52.352Z","updated_at":"2025-04-04T15:31:11.550Z","avatar_url":"https://github.com/tomiis4.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# \u003ca href=\"#\"\u003eC\u003c/a\u003e Cheatsheet \u003cimg width=\"50em\" src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/C_Programming_Language.svg/1200px-C_Programming_Language.svg.png\"\u003e\n\n\u003ctable\u003e\n\n\u003ctd\u003e\n\n* [File](#file)\n* [Hello world](#hello-world)\n* [Importing libraries](#importing-libraries)\n* [Variables](#variables)\n    * [struct](#struct)\n* [Functions](#functions)\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n* [Logic statements](#logic-statements)\n    * [if/else](#ifelse)\n    * [switch/case](#switchcase)\n* [Loops](#loops)\n    * [for-i](#for-i)\n    * [while](#while)\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n* [Converting](#converting)\n* [Build-in iunctions](#build-in-functions)\n    * [printf](#printf)\n    * [scanf](#scanf)\n    * [memory](#memory)\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n* [Pointers](#pointers)\n* [Libraries](#libraries)\n    * [time.h](#time.h)\n* [Projects](#projects)\n\n\u003c/td\u003e\n\n\u003c/table\u003e\n\n\n## File\n\n### Run file\n```sh\ngcc \u003cfile-name\u003e.c -o \u003cexe-filename\u003e.exe\n\n./\u003cexe-filename\u003e.exe\n```\n\n\n## Hello world\n```c\n#include \u003cstdio.h\u003e\n\nint main() {\n    printf(\"Hello, world\\n\");\n\n    return 0;\n}\n```\n\n\n## Importing libraries\n```c\n#include \u003clibrary.h\u003e\n```\n\n\n## Variables\n```c\n// declare variable\n\u003ctype\u003e \u003cname\u003e = \u003cvalue\u003e;\n\n// declare array\n\u003ctype\u003e \u003cname\u003e[] = {\u003cvalue\u003e, \u003cvalue\u003e};\n\n// string\nchar \u003cname\u003e[] = \"\u003ccontent\u003e\";\nchar \u003cname\u003e[\u003cstr-length\u003e] = \"\u003ccontent\u003e\";\n\n/*\nTypes:\n    unsigned int, short, long = %u = positive number\n    signed int, short, long   = %d = negative numbers\n\n    bool  = %d  = true/false\n    char  = %c  = one character (in single quiote)\n    int   = %d  = numbers\n    short = %hd = numbers (-32_768 to 32_767)\n    long  = %ld = numbers (-9223372036854775808 to 9223372036854775807)\n\n    float       = %f  = floating numbers (6 decimals)\n    double      = %lf = floating numbers (15 decimals)\n    long double = %Lf = floating numbers (19 decimals)\n\n    void = N/A = only for function return as empty\n*/\n```\n\n### structs\n```c\n// create struct\nstruct \u003cstruct-name\u003e {\n    \u003ctype\u003e \u003ckey-name\u003e;\n    \u003ctype\u003e \u003ckey-name\u003e;\n}\n\n// initialize empty struct variable\nstruct \u003cstruct-name\u003e \u003cvariable-name\u003e;\n\n// initialize filled struct variable\nstruct \u003cstruct-name\u003e \u003cvariable-name\u003e = {\u003cvalue\u003e, \u003cvalue\u003e};\n```\n\n\n## Functions\n```c\n\u003ctype\u003e name() {\n\t//...\n}\n\n// return\n\u003ctype\u003e name() { return x }\n\n// parameters \n\u003ctype\u003e name(\u003ctype\u003e param1) {  }\n```\n\n\n## Logic statements\n\n### If/else\n```c\nif (condition) {\n    //...\n} else if (condition2) {\n    //...\n} else {\n    //...\n}\n```\n\n### Switch/case\n```c\nswitch (statement) {\n    case x:\n        //...\n        break;\n    case y:\n        //...\n        break;\n    default:\n        //...\n}\n```\n\n\n## Loops\n\n### For-I\n```c\nfor (int i=0; i \u003c 10; i++) {\n    //...\n}\n```\n\n### While\n```c\nwhile (condition) {\n    //...\n}\n```\n\n\n## Converting\n```c\n// str -\u003e int\n#include \u003cstdlib.h\u003e\n\nint number = atoi(\u003cstring\u003e);\n\n// int -\u003e str\n#include \u003cstdlib.h\u003e\n\nchar str[20];\nsprintf(str, \"%d\", \u003cnumber\u003e);\n\n// int -\u003e float\nfloat decimal = (float) \u003cnumber\u003e;\n\n// float -\u003e int\nint number = (int) \u003cfloat\u003e;\n```\n\n\n## Build-In Functions\n\n### printf\n```c\n// print formatted output\n\n// without variable\nprintf(\"Hello, world\");\n\n// with variable\nprintf(\"Hello, \u003cformat-type\u003e\", \u003cvariable\u003e);\n```\n\n### scanf\n```c\n// get user input\n\nscanf(\u003cformat-type\u003e, \u003cvariable-addres\u003e);\n```\n\n### memory\n```c\n// todo\n```\n\n\n## Pointers\n```c\n// create new pointer variable with name pointer\n\u003ctype\u003e *pointer;\n\n// change pointer address\npointer = \u003caddress\u003e;\n\n// change data from address/pointer\n*pointer = \u003cvalue\u003e\n\n// read data from address/pointer\n*pointer\n\n// get address from variable\n\u0026variable\n```\n\n## Libraries \n\n### time.h\n```c\n// get start time\nclock_t startTime = clock();\n\n\n// create delay\nvoid delay(int ms) {\n    clock_t startTime = clock();\n\n    while (clock() \u003c startTime + msDelay);;\n}\n```\n\n\n## Projects\n- Calculator\n- Sorting algorithm\n- Snake\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomiis4%2FCLang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomiis4%2FCLang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomiis4%2FCLang/lists"}