Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Array arithmetic in C?

  1. Oct 19, 2005 #1
    int f[5];

    Is it possible to do

    f+=1;

    inside a valid for loop?

    If not than how can I increment integers stored in an arrary for each i in C?

    Thanks
     
  2. jcsd
  3. Oct 19, 2005 #2

    Diane_

    User Avatar
    Homework Helper

    I don't see anything wrong with it, but I tried it and it works just fine.
     
  4. Oct 19, 2005 #3

    jtbell

    User Avatar

    Staff: Mentor



    Sure, so long as i has a valid value for an index to that array, namely in the range 0...4.

    Actually, a C compiler will cheerfully let you use a value of i outside that range, but then you'll be incrementing the contents of some memory location outside the array. This sort of thing produces bugs that can be very difficult to track down unless you step through the code with a debugger.
     
  5. Oct 19, 2005 #4
    One of the best ways to learn C is to test these sorts of questions.

    Code (Text):

    #include <stdio.h>

    main()
    {
      int f[5]={0}, i;
     
      for(i=0;i<5;i++)
      {
        printf("               i = %d \n", i);
        printf("            f[i] = %d \n", f[i]);
        f[i]+=i;
            printf("incremented f[1] = %d \n", f[i]);
      }

    }
     
    Don't be afraid to test these things when you have a question. A simple program like the one above will usually clear things up in a jiffy.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Array arithmetic in C?
  1. Arrays in C++ (Replies: 10)

  2. Arrays c++ (Replies: 14)

  3. C++ Array (Replies: 10)

  4. C# arrays (Replies: 1)

Loading...