When we define a function, say
test(uint256 val). I would presume
val would be implicitly defined in memory. But what if we change the funtion visibility modifier, does that change the location of where
val is defined?
I'm interested in 3 function visibility modifiers,
external and their effect on the location where
val would exist. I'm also interested in whether it would make a difference if we access the function internally or externally, given that the function visibility modifier is set. Does it make a difference if, say the function is defined as
external and we try to access it internally from the same contract code vs if we access it externally from another contract or from an EOA?