Pointers, libraries, and arrays: I'm trying to pass variable addresses to functions/methods within a custom library that should change the values at the specified addresses.  However, I think I'm missing something as it's taking me ages to tweak things just to get it to compile, let alone gather some useful information from it.

Note:
I've not tested the code as I'm focused on understanding (1.) through to (5.) and is just a quick example of the current pipeline:

Main.ino

#include &lt;customLibrary.h&gt;

CustomLibrary cLib();

byte someByte[6];
unsigned int theAddress;

setup(){};

loop(){

    // (1.)
    theAddress = &amp;someByte; // normally need this here, or before setup(), for it to work.

    cLib.setValues(theAddress); 

    // because:
    // cLib.setValues(&amp;someByte);  
    // doesn't seem to work
};


customLibrary.h

#ifndef CustomLib
#define CustomLib
#if(ARDUINO &gt; 100)
    #include "Arduino.h"
#else
    #include "WProgram.h"
#endif

class CustomLibrary {
    public:
        CustomLibrary();
        void setValues(unsigned int theAddress); // (2.)
    private:
};
#endif   


customLibrary.cpp

#include &lt;customLibrary.h&gt;

CustomLibrary::CustomLibrary(){
};

void CustomLibrary::setValues(unsigned int theAddress){ // (3.)

    byte _someNewValues[6] = {a,b,c,d,e,f};

    // Assign the variable from _someNewValues[_x] to (theAddress + _x) 
    int _x = 0;
    for(unsigned int i = theAddress;i &lt; (theAddress + 6);i++){ // (4.)
        // (5.)
        _x++;
    };

};


(1.) - Feels like it should be simpler. 

(2-3-4-5.) - I have left out any "*" and "&amp;" hoping that someone can provide the preferred way of doing this, or provide a better solution as it's taking far too long to get this working with everything else leading me to think I'm missing something basic. 

There are some excellent tutorials out there which I have been
following with great success, but, only when all the pointers are within the same file.  Once I try and use them in a library it's a constant headache at the moment and I don't understand it enough to know what's wrong.

Need to go before I can proof-read and check it, but I think it's all there.  I'll be back later/tomorrow if there's anything that needs clearing up.

Edit:
I didn't know who to mark for the answer as both @dannyf and @KIIV answered perfectly.  I considered marking the answer based on the time it was posted, but decided instead to let @dannyf have it as his reputation was only 1.

Thank you both! Much appreciated!
somebyte itself is a pointer. so "&amp;somebyte" doesn't make sense.

instead, use "&amp;somebyte[0]" (or "&amp;somebyte[5]" if you want an offset), or "somebyte" (or "somebyte + 5" if you want an offset).

arrays are actually pointers.