• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nilrust
V2EX  ›  程序员

C 语言这种看起来是强类型,但指针指来指去后写起来感觉是弱类型

  •  
  •   nilrust · Aug 28, 2018 · 7902 views
    This topic created in 2999 days ago, the information mentioned may be changed or developed.

    变量一律用指针,一路无脑calloc,贼爽!

    41 replies  •  2018-08-29 13:16:33 +08:00
    reus
    reus
    Aug 28, 2018
    1
    C 类型约束比较弱
    daryl
    daryl
    Aug 28, 2018❤️1
    2
    因为不管是什么类型,它们在内存里面的东西都是一样的嘛= =
    myyou
    myyou
    Aug 28, 2018
    3
    c 语言不是就是弱类型语言吗?
    raysonx
    raysonx
    Aug 28, 2018 via Android
    5
    C 通常被划为弱类型语言
    whileFalse
    whileFalse
    Aug 28, 2018❤️2
    6
    开局一数组,变量全靠 p
    whileFalse
    whileFalse
    Aug 28, 2018
    7
    @baicheng10 403 了
    baicheng10
    baicheng10
    Aug 28, 2018❤️9
    8

    (找到一张图,作者见水印)
    zwh2698
    zwh2698
    Aug 28, 2018 via Android
    9
    千万不要这么玩,否则你会很后悔!
    kaneyuki
    kaneyuki
    Aug 28, 2018
    10
    面向内存编程
    yulitian888
    yulitian888
    Aug 28, 2018❤️7
    11
    隔一段时间,等楼主忘了任何一个内存片段的定义的时候,自己就会想把代码重写一遍的
    puga2006
    puga2006
    Aug 28, 2018
    12
    能直接把某一个地址,用一个指针就能表示这个地址的东西,确实很爽
    karllynn
    karllynn
    Aug 28, 2018
    13
    编码规范的意义就是怕你们胡搞
    mm163
    mm163
    Aug 28, 2018
    14
    加上多线程,就彻底死翘翘了。
    学 C,必学编译原理,否则都不知怎么死的。
    kokutou
    kokutou
    Aug 28, 2018
    15
    记得写好注释。。。写详细点。。。
    leido
    leido
    Aug 28, 2018
    16
    所以 C++有了引用就应该彻底删除指针.
    zhzer
    zhzer
    Aug 28, 2018 via Android
    17
    其实都是语法糖就看你吃不吃
    AngelCriss
    AngelCriss
    Aug 28, 2018 via Android
    18
    @leido 你可能没学过 cpp
    abcbuzhiming
    abcbuzhiming
    Aug 28, 2018
    19
    C 和 CPP 都是划分在弱类型中的,原因是它的变量可以转换类型
    ayyll
    ayyll
    Aug 28, 2018 via Android
    20
    本来就是弱-静态吧
    SuperMild
    SuperMild
    Aug 28, 2018
    21
    C 语言是现存主流语言中为数不多的典型弱类型语言了。注意,JS、Py 之类的,是动态类型,不是弱类型。JS 可以隐性转换,但转换规则非常明确。
    vincenteof
    vincenteof
    Aug 28, 2018
    22
    类型最大的意义是让问题在编译器期就暴露出来而不是运行的时候,你这种写起来虽然爽,出错了 debug 的时候就痛苦了
    woshiyigeren002
    woshiyigeren002
    Aug 28, 2018
    23
    @baicheng10 图挂了
    jmc891205
    jmc891205
    Aug 28, 2018
    24
    不要乱转类型就好了。。。
    songtianyi
    songtianyi
    Aug 28, 2018
    25
    好像很多人搞不清不同地方说的弱类型是什么意思,其实是翻译的锅
    建议用英文写法来沟通,weekly checked,即部分人所说的弱类型,指的是类型系统在做检查的时候 没有尽可能消除潜在的错误,比如 c 语言允许指针运算。英文当中也有人用 weekly typed,所以翻译过来是弱类型,很多人把它和类型是否可变混淆了。与之相对的是 strongly typed
    weekly typed,类型可变,一般动态语言都是。与之相对的是 strongly typed。
    msg7086
    msg7086
    Aug 28, 2018
    27
    @songtianyi 并不是每星期类型……
    songtianyi
    songtianyi
    Aug 28, 2018
    28
    @msg7086 哈?
    edussx
    edussx
    Aug 28, 2018❤️2
    29
    请分清:
    动态类型 vs 静态类型
    强类型 vs 弱类型

    这两组概念,C/C++是典型的静态弱类型语言
    oswuhan
    oswuhan
    Aug 28, 2018
    30
    @songtianyi week ( weak )
    PythonAnswer
    PythonAnswer
    Aug 28, 2018 via iPhone
    31
    图上动态语言 一半强类型 一半弱类型啊
    marcushbs
    marcushbs
    Aug 28, 2018
    32
    只要隐性 cast 之后挂了,就是强类型,谁用谁知道
    songtianyi
    songtianyi
    Aug 28, 2018
    33
    @oswuhan 别说了,这个我老手误写错。。
    kzzhr
    kzzhr
    Aug 28, 2018 via Android
    34
    看了 go 之后,看谁都是贼爽的弱类型
    mingyun
    mingyun
    Aug 28, 2018
    35
    @baicheng10 怎么木有 golang
    greatbody
    greatbody
    Aug 29, 2018
    36
    VB 不是弱类型
    wweir
    wweir
    Aug 29, 2018 via Android
    37
    静态类型,弱类型
    NoDocCat
    NoDocCat
    Aug 29, 2018 via Android
    38
    @yulitian888 kpi 这不就上来了吗?(逃
    liuzhedash
    liuzhedash
    Aug 29, 2018
    39
    C 语言是典型的:严格立法、普遍违法、选择执法。
    deweixu
    deweixu
    Aug 29, 2018
    40
    指针直接操作内存了
    paw
    paw
    Aug 29, 2018
    41
    喜欢 c 的原因之一:整个用户态空间都是你的,想怎玩都行,当然玩废了也只能怪自己。写内核模块就更爽了,上帝视角的感觉。每个 task 结构都是你的子民,想怎么改就怎么改,当然还是废了自负。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2217 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 120ms · UTC 11:03 · PVG 19:03 · LAX 03:03 · JFK 06:03
    ♥ Do have faith in what you're doing.