Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

n00b question

Name: n00b 2009-01-26 23:37

Is there a way to declare an array in C so the indexing starts at something besides zero?  Like if I wanted the array to be a[-10] to a[10] instead of a[0] to a[20]?

Name: Anonymous 2009-01-27 6:16

Just do something like this:
int a[20];
int *p = &a[10];
p[-10] = 0;

Name: Anonymous 2009-01-27 6:29

#define -10 0
#define 9 1
#define 8 2
#define 7 3
#define 6 4
#define 5 5
#define 4 6
#define 3 7
#define 2 8
#define 1 9
#define 0 10

Name: Anonymous 2009-01-27 6:30

>>13
goddamnit, i fucked up

#define -10 0
#define -9 1
#define -8 2
#define -7 3
#define -6 4
#define -5 5
#define -4 6
#define -3 7
#define -2 8
#define -1 9
#define 0 10

thar's your answer OP

Name: Anonymous 2009-01-27 6:31

>>11
int *a = malloc(21 * sizeof int) + 10;

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List