Structural is a "white box" testing and based on the algorithm or code. Functional testing is a "black box" (behavioral) testing where the tester verifies the functional specification.
[Source: JAGAN MOHAN "Interview questions bible"]
[Source: JAGAN MOHAN "Interview questions bible"]