Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learning C for Arduino

You're reading from   Learning C for Arduino A comprehensive guide that will help you ace C's fundamentals using the powerful Arduino board

Arrow left icon
Product type Paperback
Published in Mar 2017
Publisher Packt
ISBN-13 9781787120099
Length 378 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Syed Omar Faruk Towaha Syed Omar Faruk Towaha
Author Profile Icon Syed Omar Faruk Towaha
Syed Omar Faruk Towaha
Arrow right icon
View More author details
Toc

Table of Contents (11) Chapters Close

Preface 1. Getting Started FREE CHAPTER 2. Our First Program! 3. Exploring C with Arduino IDE 4. Blinking with Operations and Loops 5. Functions and Files with Arduino 6. Arduino and C++ 7. Using Pointers and Structure 8. Working with Arduino Libraries 9. Lets Build Something Awesome 10. Few Error Handlings

Structure and function


Structure and function are two different things in C programming. We can pass the values of a structure to a function to make our program shorter and more efficient. There are two ways to pass a structure to a function: pass by value and pass by reference. First we will look at pass by value.

Pass by value

To pass a structure to a function, first we need to define a structure. Say we will define a structure Box, where we will have three double variables: length, height, and width:

struct Box { //declared Box structure 
  float height; //height of the box 
  float width; //width of the box 
  float length; //length of the box 
}; 

Now, we will build a function that calculates the volume of a box and prints it on the Serial Monitor:

void volume(struct Box box) { //Passed Structure 
  double volume = box.height * box.width * box.length;  //calculation 
  Serial.print("The volume of the box is "); 
  Serial.println(volume); //Printed...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime