mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-13 23:48:46 +01:00
131 lines
4.8 KiB
HTML
131 lines
4.8 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Arduino Reference - Sizeof </title>
|
||
|
<link rel="shortcut icon" type="image/x-icon" href="http://arduino.cc/en/favicon.png">
|
||
|
<link rel='stylesheet' href='arduinoWideRender.css'
|
||
|
type='text/css' />
|
||
|
<!--HeaderText--><style type='text/css'><!--
|
||
|
ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; }
|
||
|
code { white-space: nowrap; }
|
||
|
.vspace { margin-top:1.33em; }
|
||
|
.indent { margin-left:40px; }
|
||
|
.outdent { margin-left:40px; text-indent:-40px; }
|
||
|
a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; }
|
||
|
a.createlink { text-decoration:none; position:relative; top:-0.5em;
|
||
|
font-weight:bold; font-size:smaller; border-bottom:none; }
|
||
|
img { border:0px; }
|
||
|
.editconflict { color:green;
|
||
|
font-style:italic; margin-top:1.33em; margin-bottom:1.33em; }
|
||
|
|
||
|
table.markup { border: 2px dotted #ccf; width:90%; }
|
||
|
td.markup1, td.markup2 { padding-left:10px; padding-right:10px; }
|
||
|
td.markup1 { border-bottom: 1px solid #ccf; }
|
||
|
div.faq { margin-left:2em; }
|
||
|
div.faq p.question { margin: 1em 0 0.75em -2em; font-weight:bold; }
|
||
|
div.faq hr { margin-left: -2em; }
|
||
|
|
||
|
.frame
|
||
|
{ border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; }
|
||
|
.lfloat { float:left; margin-right:0.5em; }
|
||
|
.rfloat { float:right; margin-left:0.5em; }
|
||
|
a.varlink { text-decoration:none; }
|
||
|
|
||
|
--></style> <meta name='robots' content='index,follow' />
|
||
|
|
||
|
<meta name="verify-v1" content="TtxFIEJAB6zdJ509wLxjnapQzKAMNm9u0Wj4ho6wxIY=" />
|
||
|
</head>
|
||
|
<body>
|
||
|
<div id="page">
|
||
|
<!--PageHeaderFmt-->
|
||
|
<div id="pageheader">
|
||
|
<div class="title"><a href='http://arduino.cc/en'>Arduino</a></div>
|
||
|
</div>
|
||
|
<!--/PageHeaderFmt-->
|
||
|
|
||
|
<!--PageLeftFmt-->
|
||
|
<div id="pagenav">
|
||
|
<div id="navbar">
|
||
|
<p><a class='wikilink' href='http://arduino.cc/en/Main/Buy'>Buy</a>
|
||
|
<a class='wikilink' href='http://arduino.cc/en/Main/Software'>Download</a>
|
||
|
<a class='wikilink' href='Guide_index.html'>Getting Started</a>
|
||
|
<a class='wikilink' href='http://arduino.cc/en/Tutorial/HomePage'>Learning</a>
|
||
|
<a class='wikilink' href='index.html'>Reference</a>
|
||
|
<a class='wikilink' href='http://arduino.cc/en/Main/Hardware'>Hardware</a>
|
||
|
<a class='wikilink' href='FAQ.html'>FAQ</a>
|
||
|
</p>
|
||
|
<p class='vspace'></p>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<!--/PageLeftFmt-->
|
||
|
|
||
|
<div id="pagetext">
|
||
|
<!--PageText-->
|
||
|
<div id='wikitext'>
|
||
|
<p><strong>Reference</strong> <a class='wikilink' href='index.html'>Language</a> | <a class='wikilink' href='Libraries.html'>Libraries</a> | <a class='wikilink' href='Comparison.html'>Comparison</a> | <a class='wikilink' href='Changes.html'>Changes</a>
|
||
|
</p>
|
||
|
<p class='vspace'></p><h2>sizeof</h2>
|
||
|
<h4>Description</h4>
|
||
|
<p>The sizeof operator returns the number of bytes in a variable type, or the number of bytes occupied by an array.
|
||
|
</p>
|
||
|
<p class='vspace'></p><h4>Syntax</h4>
|
||
|
<p>sizeof(variable)
|
||
|
</p>
|
||
|
<p class='vspace'></p><h4>Parameters</h4>
|
||
|
<p>variable: any variable type or array (e.g. int, float, byte)
|
||
|
</p>
|
||
|
<p class='vspace'></p><h4>Example code</h4>
|
||
|
<p>The sizeof operator is useful for dealing with arrays (such as strings) where it is convenient to be able to change the size of the array without breaking other parts of the program.
|
||
|
</p>
|
||
|
<p class='vspace'></p><p>This program prints out a text string one character at a time. Try changing the text phrase.
|
||
|
</p>
|
||
|
<p class='vspace'></p><pre>
|
||
|
char myStr[] = "this is a test";
|
||
|
int i;
|
||
|
|
||
|
void setup(){
|
||
|
Serial.begin(9600);
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
for (i = 0; i < sizeof(myStr) - 1; i++){
|
||
|
Serial.print(i, DEC);
|
||
|
Serial.print(" = ");
|
||
|
Serial.println(myStr[i], BYTE);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
</pre><p>Note that sizeof returns the total number of bytes. So for larger variable types such as ints, the for loop would look something like this.
|
||
|
</p>
|
||
|
<p class='vspace'></p><pre>
|
||
|
for (i = 0; i < (sizeof(myInts)/sizeof(int)) - 1; i++) {
|
||
|
// do something with myInts[i]
|
||
|
}
|
||
|
|
||
|
</pre>
|
||
|
<p class='vspace'></p><p><a class='wikilink' href='index.html'>Reference Home</a>
|
||
|
</p>
|
||
|
<p class='vspace'></p><p><em>Corrections, suggestions, and new documentation should be posted to the <a class='urllink' href='http://arduino.cc/forum/index.php/board,23.0.html' rel='nofollow'>Forum</a>.</em>
|
||
|
</p>
|
||
|
<p class='vspace'></p><p>The text of the Arduino reference is licensed under a
|
||
|
<a class='urllink' href='http://creativecommons.org/licenses/by-sa/3.0/' rel='nofollow'>Creative Commons Attribution-ShareAlike 3.0 License</a>. Code samples in the reference are released into the public domain.
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<!--PageFooterFmt-->
|
||
|
<div id="pagefooter">
|
||
|
©Arduino |
|
||
|
<a href='#'>Edit Page</a> | <a href='#'>Page History</a> | <a href='#' target='_blank'>Printable View</a> | <a href='http://arduino.cc/en/Site/AllRecentChanges'>All Recent Site Changes</a>
|
||
|
</div>
|
||
|
<!--/PageFooterFmt-->
|
||
|
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|