Go Premium for a chance to win a PS4. Enter to Win

x
Solved

# very simple

Posted on 2000-03-07
Medium Priority
269 Views
Type TSortarray = array [ 1..10] of integer;

what's the equivalent in c?
0
Question by:anemos

LVL 18

Expert Comment

ID: 2592278
typedef struct {int x[11];} TSORT;

main()
{
TSORT z;

z.x[10] = 69;

printf("equal %i",z.x[10]);
}
0

LVL 1

Expert Comment

ID: 2592290
Thats not so very simple ... In c, array's start at 0 instead of 1.

typedef int TSortarray[10]

is the equivalent of

Type TSortarray = array [0 .. 9] of integer;

You better learn to work with arrays that start with index 0, unless you want to do a lot of index translation, if you plan to program in C.

Hope this helps ...
0

Author Comment

ID: 2592333
0

Author Comment

ID: 2592334
Thanks for your help... I am actually aware of the fact that the first array element is suscribted with 0. What I am wanting to know is whether it is possible to define a type int[n], where n is an integer, and then whenever I need to use an array of n elements just declare :
type_array_10_elements   myvariable

just like in pascal.

0

Author Comment

ID: 2592387
moreover one has to remember that x (regarding the 1st answer) in order to use that type.
0

LVL 3

Expert Comment

ID: 2592484
In C you usually do something like:

typedef double MyType;            /* or whatever you like best */
typedef struct { int a; double b; } MyType2;

MyType my_array_var[400];
MyType2 my_array_var[20];
0

LVL 1

Expert Comment

ID: 2592994
i didn't write in c for a long time so i don't remember it exectlly

you can use something named macro

#define TSORT(x) int x [10]

int main(){
TSORT(x);
TSORT(y);
TSORT(zarray);
...
}

about the fact that the array start from 0
you can write a struct array
and make there some methods that will
make it looks that your array starts from x and goes till y
and you"ll use and index-x to transfer it to 0 to y-x

and you can use the maxcro on the struct
0

LVL 1

Accepted Solution

940961sl earned 120 total points
ID: 2596298
typedef int TSortArray[10];

void main(void)
{
TSortArray              Array;

Array[0] = 1;
}
0

Author Comment

ID: 2612498
I am afraid that I can't use a macro... having some difficulties with the sise operator..
0

Author Comment

ID: 2612503
Exactly what I wanted.. Thanx all of you for your response and your time..
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to useâ€¦
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and infâ€¦
The goal of this video is to provide viewers with basic examples to understand and use pointers in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
###### Suggested Courses
Course of the Month9 days, 20 hours left to enroll