{"id":33,"date":"2013-10-24T15:17:56","date_gmt":"2013-10-24T15:17:56","guid":{"rendered":"https:\/\/arduino-developer.com\/arduino\/?p=33"},"modified":"2014-09-26T18:01:00","modified_gmt":"2014-09-26T18:01:00","slug":"variables-c","status":"publish","type":"post","link":"https:\/\/arduino-developer.com\/arduino\/programming\/memory\/variables-c","title":{"rendered":"Variables &#8211; C"},"content":{"rendered":"<h4>\nUsing C Standard Variable Types<br \/>\n<\/h4>\n<p>\nThis can be essential if&nbsp;using a 32bit Arduino and needing a 16bit varaible or for any code which needs to be sure what size and int variable is\n<\/p>\n<pre>\r\n<code>\r\n#include &lt;stdint.h&gt;\r\n<\/code><\/pre>\n<p>\nbool\n<\/p>\n<p>\nboolean\n<\/p>\n<p>\nchar\n<\/p>\n<p style=\"margin-left: 40px;\">\n-128 to 127\n<\/p>\n<p>\nbyte\n<\/p>\n<p style=\"margin-left: 40px;\">\n0 to 255\n<\/p>\n<p>\nshort\n<\/p>\n<p>\nunsigned short\n<\/p>\n<p>\nint\n<\/p>\n<p>\nunsigned int\n<\/p>\n<p>\nlong\n<\/p>\n<p>\nunsigned long\n<\/p>\n<p>\nlong long\n<\/p>\n<p>\nunsigned long long\n<\/p>\n<p>\nfloat\n<\/p>\n<p>\ndouble\n<\/p>\n<p>\nint8_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n-128 to 127\n<\/p>\n<p>\nuint8_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n0 to 255\n<\/p>\n<p>\nint16_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n-32,768 to 32,767\n<\/p>\n<p>\nuint16_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n0 to 65,535\n<\/p>\n<p>\nint32_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n-2,147,483,648 to 2,147,483,647\n<\/p>\n<p>\nuint32_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n0 to 4,294,967,295\n<\/p>\n<p>\nint64_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n&minus;9,223,372,036,854,775,808 to 9,223,372,036,854,775,807\n<\/p>\n<p>\nuint64_t\n<\/p>\n<p style=\"margin-left: 40px;\">\n0 to 18,446,744,073,709,551,615\n<\/p>\n<h4>\nHandy Typedefs To Use<br \/>\n<\/h4>\n<pre>\r\n<code>\r\n#include &lt;stdint.h&gt;\r\ntypedef bool BOOL;\r\ntypedef uint8_t BYTE;\r\ntypedef int8_t INT8;\r\ntypedef uint8_t UNINT8;\r\ntypedef int16_t INT16;\r\ntypedef uint16_t UINT16;\r\ntypedef int32_t INT32;\r\ntypedef uint32_t UNINT32;\r\ntypedef int64_t INT64;\r\ntypedef uint64_t UINT64;\r\n<\/code><\/pre>\n<p>\n&nbsp;\n<\/p>\n<h4>\nDisplay Memory Size Of All C Types<br \/>\n<\/h4>\n<pre>\r\n<code>\r\n#include &lt;stdint.h&gt;\r\n\r\nvoid setup() {\r\n  Serial.begin(9600);\r\n}\r\n\r\nvoid loop() {\r\n  Serial.print(&quot;sizeof(byte)=&quot;);\r\n  Serial.println(sizeof(byte));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(char)=&quot;);\r\n  Serial.println(sizeof(char));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(short)=&quot;);\r\n  Serial.println(sizeof(short));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(int)=&quot;);\r\n  Serial.println(sizeof(int));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(long)=&quot;);\r\n  Serial.println(sizeof(long));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(long long)=&quot;);\r\n  Serial.println(sizeof(long long));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(bool)=&quot;);\r\n  Serial.println(sizeof(bool));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(boolean)=&quot;);\r\n  Serial.println(sizeof(boolean));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(float)=&quot;);\r\n  Serial.println(sizeof(float));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(double)=&quot;);\r\n  Serial.println(sizeof(double));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(int8_t)=&quot;);\r\n  Serial.println(sizeof(int8_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(int16_t)=&quot;);\r\n  Serial.println(sizeof(int16_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(int32_t)=&quot;);\r\n  Serial.println(sizeof(int32_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(int64_t)=&quot;);\r\n  Serial.println(sizeof(int64_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(uint8_t)=&quot;);\r\n  Serial.println(sizeof(uint8_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(uint16_t)=&quot;);\r\n  Serial.println(sizeof(uint16_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(uint32_t)=&quot;);\r\n  Serial.println(sizeof(uint32_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(uint64_t)=&quot;);\r\n  Serial.println(sizeof(uint64_t));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(char*)=&quot;);\r\n  Serial.println(sizeof(char*));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(int*)=&quot;);\r\n  Serial.println(sizeof(int*));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(long*)=&quot;);\r\n  Serial.println(sizeof(long*));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(float*)=&quot;);\r\n  Serial.println(sizeof(float*));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(double*)=&quot;);\r\n  Serial.println(sizeof(double*));\r\n  Serial.println();\r\n  \r\n  Serial.print(&quot;sizeof(void*)=&quot;);\r\n  Serial.println(sizeof(void*));\r\n  Serial.println();\r\n  \r\n  while (1)\r\n    delay(10000);\r\n}\r\n<\/code><\/pre>\n<p>\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using C Standard Variable Types This can be essential if&nbsp;using a 32bit Arduino and needing a 16bit varaible or for any code which needs to be sure what size and int variable is #include &lt;stdint.h&gt; bool boolean char -128 to 127 byte 0 to 255 short unsigned short int unsigned int long unsigned long long [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-33","post","type-post","status-publish","format-standard","hentry","category-memory"],"_links":{"self":[{"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/posts\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":10,"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/posts\/33\/revisions"}],"predecessor-version":[{"id":98,"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/posts\/33\/revisions\/98"}],"wp:attachment":[{"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/media?parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/categories?post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduino-developer.com\/arduino\/wp-json\/wp\/v2\/tags?post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}