我想我明白了strongtyping,但是每次我寻找弱类型的示例时,我最终都会找到简单地自动强制/转换类型的编程语言示例。例如,在这篇名为Typing:Strongvs.Weak,Staticvs.Dynamic的文章中说Python是强类型的,因为如果你尝试这样做会得到一个异常:Python1+"1"Traceback(mostrecentcalllast):File"",line1,in?TypeError:unsupportedoperandtype(s)for+:'int'and'str'然而,这样的事情在Java和C#中是可能的,我们不认为它们是弱类型的。Javainta=1
我想我明白了strongtyping,但是每次我寻找弱类型的示例时,我最终都会找到简单地自动强制/转换类型的编程语言示例。例如,在这篇名为Typing:Strongvs.Weak,Staticvs.Dynamic的文章中说Python是强类型的,因为如果你尝试这样做会得到一个异常:Python1+"1"Traceback(mostrecentcalllast):File"",line1,in?TypeError:unsupportedoperandtype(s)for+:'int'and'str'然而,这样的事情在Java和C#中是可能的,我们不认为它们是弱类型的。Javainta=1
Clarificationoverlvalue,rvaluebehaviourofpointersinC1234567891011121314151617#includeintmain(){ inti=10; int*p=&i; printf("\addressofinitializedpointerp:%u\",p); p=&(*p); printf("\modifiedaddressofinitializedpointerp:%uvalue:%dvaluezaddress:%d\",p,*p,&(*p)); return0;}代码输出:-初始化指针p的地址:3221221820
Clarificationoverlvalue,rvaluebehaviourofpointersinC1234567891011121314151617#includeintmain(){ inti=10; int*p=&i; printf("\addressofinitializedpointerp:%u\",p); p=&(*p); printf("\modifiedaddressofinitializedpointerp:%uvalue:%dvaluezaddress:%d\",p,*p,&(*p)); return0;}代码输出:-初始化指针p的地址:3221221820