Fortran Fortran array declarations

  • Thread starter Matterwave
  • Start date

Matterwave

Science Advisor
Gold Member
3,951
324
Hi, I'm just wondering real quick, are equations allowed in array declarations? For example:

int :: y=2
int, dimension(2*y):: x

?
 

SteamKing

Staff Emeritus
Science Advisor
Homework Helper
12,794
1,663

Matterwave

Science Advisor
Gold Member
3,951
324
So even if y were a parameter, probably I still can't do that?

EDIT: I looked at a later part of the lecture and he had something like what I have except y is a parameter. So I think I'm doing OK. Thanks. :)
 
32,445
4,194
The whole point of a parameter in Fortran is that the parameter's value is known at compile time, so the compiler knows how much memory to allocate for the array. For a variable (not a parameter), the variable gets its value at run time, I believe.

Minor point. A statement such as y = 2 is an assignment, or in this case an initialization, not an equation. It does not state that y and 2 are equal. Instead, it stores the constant value 2 in the location that is named y.

Most programming languages make distinctions between assignment and testing for equality by using different symbols. For example, Fortran uses .EQ. to test for equality, and uses = for assignment. Languages based on C, such as C++, C#, Java, and others, use == to test for equality and = for assignment. Newer versions of Fortran now support the C-style notation, in addition to the older .EQ., .LT., GT., and other spelled-out relational operators.
 

Matterwave

Science Advisor
Gold Member
3,951
324
Yes, I forgot to include that y is a parameter, and my language is lazy because I'm not a programmer really. Sorry for the confusion. :P

I just wanted to make sure that the statement

real, dimension(2*y)::x

is legitimate if y is a parameter, and Steamking's link had something just like that in it.
 

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top