电子产业一站式赋能平台

PCB联盟网

搜索
查看: 33|回复: 0
收起左侧

这两种 C 语言语法,建议别用,不然会被骂惨!

[复制链接]

485

主题

485

帖子

1623

积分

三级会员

Rank: 3Rank: 3

积分
1623
发表于 2024-8-24 17:50:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师
3 U1 R  t8 w6 ?, Q& ?! c+ n关注我,一起变得更加优秀!' ]6 L! A6 D8 Z/ J

0 S) J( x$ a! C% j- W- R/ U! R

awl3msl2dyr640192726.jpg

awl3msl2dyr640192726.jpg

; G3 U5 r7 @' W) a语法一:9 m6 ^8 H+ y# ^" U0 B

0 C& A* `1 }2 n9 R4 C一起来看看以下这段代码,在这段代码里面,我们 使用  和 %> 来替代 { 和 }使用  和 :> 来替代 [ 和 ]
  • /*使用  来替代 { 和 },例如:函数定义:int main(void)
    & J% g. r! G6 a5 q# N" I5 Z9 C2 a使用  来替代 [ 和 ],例如:数组定义:int array*/int main(void)    int array = 11, 22, 33, 44, 55%>;
    & }4 C! g. S" K1 H$ {    printf(" >>> %d \r
    3 n; n$ _& I* ~& ~% Z", array[3:>);    printf(" >>> %d \r1 }& c5 d, v) q5 z8 N
    ", array4]);
    # |& x: Z( ^! [) |+ r, E# k% f6 ~    return 0;%>' V% m% \  t! {' `' |
    上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。) M" j1 m" c; k5 r0 y
    ( Q* ]/ H" Q4 F& s& L. X

    g5uc0ynwqfl640192826.jpg

    g5uc0ynwqfl640192826.jpg

    # v8 Q4 I8 S( J1 w7 k# [: M9 s0 d" }1 }
    之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,2 N& N% q8 q' d3 v! T# t. Y, y
    ! X) r2 `; ^/ \
    所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。
    / A$ x. P6 m) t6 i9 f3 t/ m: Q
    0 Y- h$ V2 q& [6 Q语法二:
    9 {' e- C" ]3 j7 ?8 ?+ \' Y' [( ~+ W) p$ c
    再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。
  • #include "stdio.h"
    5 N7 C! G' R2 ~* k8 c0 f& M: E" Fint main(void){    int array[5] = {11, 22, 33, 44, 55};$ b' v6 t3 U3 |- B
        //常用的 C 语言数组成员访问方法    printf(">>> %d \r
    + w' y7 t$ H: C/ ^* K! R0 ?", array[3]);
    , P/ P$ L8 Z1 E2 K    //不经常用到的 C 语言数组成员访问方法    printf(">>> %d \r+ S, Y9 o+ q& t
    ", 2[array:>);}7 @3 z! o4 v7 A8 _8 Z1 ?1 G$ C% X9 \
    上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
    8 k4 v" X& t% `4 X  O7 P# o6 w  N' M+ G

    evwi0i4imsx640192926.jpg

    evwi0i4imsx640192926.jpg
      p3 |$ f2 i* b
    以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~+ Y& N* u0 a2 w- O( `$ s

    dqzcs4k5v0sExpression_14@2x193026.png

    dqzcs4k5v0sExpression_14@2x193026.png

    ; n5 H# H1 [" F4 M4 H. b/ x) w9 x9 G) Q4 y
    -END-# B+ f5 f, ^$ p! b' `$ M
    往期推荐:点击图片即可跳转阅读) r! M; Y: B: T3 Z6 l/ s
                                                            . k$ V8 B7 Y' P6 m
                                                                   
    4 @+ \1 B" K# F8 u2 a                                                                        $ Q" Z# p/ v6 h# s
                                                                                    4 s1 E) r5 G) z+ c

    nhooclvx5kn640193126.jpg

    nhooclvx5kn640193126.jpg
    9 P+ l& ^" d2 H" v% ~/ i( f+ {6 n
                                                                                    - A6 L* ]0 m( R% t" F/ \
                                                                                            嵌入式 C 语言,那些“花里胡哨”的语法特性。8 m0 J! i( R3 u$ [9 L- }, D& ]& Q
                                                           
    ( c4 R8 {' o. R2 o; v5 q9 n! ^                                                               
    ( S% P: g  v% i+ |% c                                                                        $ s/ l" p2 Z. e# R- N9 G7 z
                                                                                    0 r* F$ B+ @1 k9 D3 a3 k

    bqqven2e11v640193226.jpg

    bqqven2e11v640193226.jpg

    ' o) q4 p3 T( T( n3 ]; i# J# F& s                                                                                ! n+ f8 U$ t& j2 \8 ~$ S
                                                                                            嵌入式 C 语言的自我修养
    % k8 Q/ A3 h- t9 ?* \3 m3 w                                                                  @0 Q7 ?6 y0 _
                                                                            ) q9 A# ]/ A) O+ Z4 G
                                                                                    % W+ Z6 T6 k+ l* s7 B" A" q

    njdx1vxcfhh640193326.jpg

    njdx1vxcfhh640193326.jpg

    - i1 Q) @% O! }4 K                                                                                1 G' u- l0 {3 I- E9 I% r
                                                                                            嵌入式 C 语言知识点,动态变长数组, Y3 r# ~+ g9 Y" U
                                                                                   
    : n9 Y# H" l; o3 b3 p5 A" R: B) w                                                                       
    ! `; x$ d2 w: n9 B% r' B* M                                                               
    8 Q# x. Z8 C  ?! g+ L. z                                                        我是老温,一名热爱学习的嵌入式工程师
    * i  D' R% U5 k. C$ M& K( \+ J关注我,一起变得更加优秀!
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表