할당문 (Assignment statement) 또는 대입문
변수(v)에 식(e)을 부여하는데 아래와 같은 형식을 사용
v = e
정수형, 실수형 변수 할당
real :: xloc, yloc
integer :: number, calc
xloc = 5.23
yloc = sqrt(25.0) ! yloc 에 5.0이 할당
number = 20 ! number 에는 20이 할당
calc = number / 4+1 ! calc에 5가 할당
xloc = 2.0 * xloc ! xloc 에 10.46이 할당
선언된 변수형에 따라, 변수 내 할당된 값이 달라질 수 있음에 유의해야 한다.
real :: a, b
a = 3 ! a는 실수형 변수이므로 a에 3.0이 할당된다.
iron = 3.14 ! iron 에 3이 할당. implicit none을 선언하지 않았으므로 explicit 규칙을 따름
kiss = 4.0/2.0 ! kiss 에 2가 할당
문자형 변수 할당
character(5) :: string, over, less*10
string = "Alpha" ! string 에 "Alpha"가 할당.
string(3 : 5) = "ter" ! 또는 string(3 : ) = "ter"
string에 할당된 "Alpha"를 "Alter" 로 변경시킴
주의: 대입문 오른쪽에 인용된 문자식에 포함된 위치에는 새로운 값이 할당될 수 없다.
string(2 : 3) = string(4 : 5)는 가능하지만,
string(2 : 4) = string(3 : 5) 는 불가능. 왜냐하면 참고되는 내부 문자열이 수정되는 내부 문자열과 중복되기 때문
문자형의 경우, 선언된 변수의 길이는 할당되는 값의 길이와 같다. 만약 문자열의 길이가 선언된 길이보다 작으면 공백으로 채우고, 선언된 길이보다 크면 잘리게 된다.
less = "particle" ! less에는 "particle฿฿" 가 할당됨. (฿는 공백)
over = "concentration" ! over 에는 "conce" 가 할당됨
예문
program print_name
character :: fname = "Park"
character(2) :: iname = "Park"
character(3) :: jname = "Park"
character(3) :: kname = "park"
print *, fname
print *, iname
print *, jname
print *, kname
end program print_name