Skip to main content
Engineering LibreTexts

5.7: Sequence Operator

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    General Discussion

    The sequence (or comma) operator is used to separate items. It has several uses, four of which are listed then demonstrated:

    1. To separate identifier names when declaring variables or constants
    2. To separate several parameters being passed into a function
    3. To separate several initialization items or update items in a for loop
    4. Separate values during the initialization of an array

    This first example is often seen in textbooks, but this method of declaring variables is not preferred. It is difficult to quickly read the identifier names.

    int pig, dog, cat, rat

    The following vertical method of declaring variables or constants is preferred.

    Preferred Vertical Method of Defining Variables
    int    pig;
    int    dog;
    int    cat;
    int    rat;

    The data types and identifier names (known as parameters) are separated from each other. This example is a function prototype.

    double area_trapezoid(double base, double height, double top);

    In the syntax of a for loop you have three parts each separated by a semi-colon. The first is the initialization area which could have more than one initialization. The last is the update area which could have more than one update. Multiple initializations or updates use the comma to separate them. This example is only the first line of a for loop. (we will talk about loops in more detail later)

    for(x = 1, y = 5; x < 15; x++, y++)

    The variable ages is an array of integers (an array is a list - more later). Initial values are assigned using block markers with the values separated from each other using a comma.

    int ages[] = {2,4,6,29,32};


    An operator used to separate multiple occurrences of an item.

    Adapted from: 
    "Sequence Operator" by Kenneth Leroy Busbee, (Download for free at is licensed under CC BY 4.0 

    This page titled 5.7: Sequence Operator is shared under a CC BY-SA license and was authored, remixed, and/or curated by Patrick McClanahan.