电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

485

主题

485

帖子

1623

积分

三级会员

Rank: 3Rank: 3

积分
1623
发表于 2024-8-24 17:50:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师" o+ [, N+ M- b2 @( s% D: k
关注我,一起变得更加优秀!2 N6 ^% Q  S7 e7 K1 ^& e. j" B

1 d9 F! A6 k- c

0arnvpq4ssn6406494026.jpg

0arnvpq4ssn6406494026.jpg
6 C! F  m( M  K9 a# t
语法一:1 Z5 E* O+ N$ |3 U* v
8 D$ U2 U! F- M9 I
一起来看看以下这段代码,在这段代码里面,我们 使用  和 %> 来替代 { 和 }使用  和 :> 来替代 [ 和 ]
  • /*使用  来替代 { 和 },例如:函数定义:int main(void)
    2 K5 a& X& ~5 w/ B  U使用  来替代 [ 和 ],例如:数组定义:int array*/int main(void)    int array = 11, 22, 33, 44, 55%>;
    5 ?1 _$ Y  C% F% |3 `# Q4 ]( L    printf(" >>> %d \r
    ) H% b  Q7 r8 A- m", array[3:>);    printf(" >>> %d \r
    , P. e! _' b8 p' s0 S3 ?5 I", array4]);) P+ R1 D+ d/ r$ v; I+ ]7 T
        return 0;%>
    ' _+ M( R! U' u: t/ v7 B上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。1 F9 u+ x& P+ j0 z: f2 e( t/ I1 E
    6 f- ^4 ~: Y( d

    iubhckxrtbs6406494127.jpg

    iubhckxrtbs6406494127.jpg
    ( o7 x# s1 K; F+ A8 }: f

    * j& H/ G+ J  k4 b9 D  a之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,3 S2 O  d: m5 c" N; A$ J

    . G" k( b7 Y( r3 \6 }& N/ O) T所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。) ^+ ]1 M3 R" {6 k

    3 _/ F* v- ]$ }& t语法二:
    - s5 S* L7 ]5 @" A  h) P* P  k; ~3 w9 j5 G0 _
    再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。
  • #include "stdio.h". Y& N8 G% L  s* U% O
    int main(void){    int array[5] = {11, 22, 33, 44, 55};
    . q9 _- J1 R* K& F( F1 F0 w2 \    //常用的 C 语言数组成员访问方法    printf(">>> %d \r- s9 S3 S5 n' w# }" }* z& O9 u
    ", array[3]);
    1 ?" ?* C- K8 l- b* p1 l# u    //不经常用到的 C 语言数组成员访问方法    printf(">>> %d \r& a2 ^+ W# c) _6 Z8 O( e  ^
    ", 2[array:>);}
    & h( ?9 N9 }! L' p6 Y8 O0 B上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。* Q) K6 l  v9 ~+ n5 |! b* Y2 g

    3 p% ^, e  ^3 `' [" t

    ymz0ihj2grw6406494227.jpg

    ymz0ihj2grw6406494227.jpg

    ' g6 j( i5 ]7 h8 d% c以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~% R; r2 b' O& q, C" t: }- b9 L

    vsg2k2xwjadExpression_14@2x6494327.png

    vsg2k2xwjadExpression_14@2x6494327.png

    1 b+ R4 j: a0 A* w3 y
    : R8 G3 d6 s/ Y( N! Q( |/ D, m-END-
    , R/ o& c+ m; n6 f" R$ O* D1 m往期推荐:点击图片即可跳转阅读5 j# J& G7 ?8 p8 |) y) ^5 A
                                                            : B) L* A3 ^5 F8 S  S8 K
                                                                   
    " K3 `4 ]+ V' C                                                                        6 M0 P6 g* e8 g& c6 B
                                                                                   
      `4 k) ~5 `' I6 K

    ssqd5fjvxbr6406494427.jpg

    ssqd5fjvxbr6406494427.jpg

    * c$ L$ O% M' E& y" L. {                                                                               
    ) f# T- c" a; E. e                                                                                        嵌入式 C 语言,那些“花里胡哨”的语法特性。
    ) H. ~1 J  W; |  D+ V                                                       
    % U4 b" J2 V0 r/ A" c$ d                                                                3 m# ?' T# y" C
                                                                            5 @& k5 J% B9 p! r6 O0 `
                                                                                   
    ( _1 r1 g. ~; l

    qmeuo3xkmmr6406494527.jpg

    qmeuo3xkmmr6406494527.jpg
    ( `3 g7 |/ a$ }3 \" Z- K8 ?
                                                                                    + [! W9 ]6 F% e
                                                                                            嵌入式 C 语言的自我修养
    ; p1 l  ^9 t* g                                                                $ D% ]! U+ C% ^' \4 M
                                                                           
    9 k7 p1 o$ m- J" [4 y. ]                                                                                ) J' Z4 g: G1 C  |* L

    vrjmw0zfnwt6406494627.jpg

    vrjmw0zfnwt6406494627.jpg

    ! j3 i; z5 j4 `7 f2 I7 o" I                                                                               
    " S7 w. n5 n. T1 j3 x& x! {                                                                                        嵌入式 C 语言知识点,动态变长数组" |2 h3 I# Z/ H0 Q, K3 C
                                                                                   
    / i1 I# D+ v) r. |" A- [                                                                       
    5 @& s+ S! [% C) V6 Y( F                                                                , \( \* S! |  f  Y% f  x; d+ n6 H
                                                            我是老温,一名热爱学习的嵌入式工程师0 i* P6 k4 h" I, E7 W8 K. _
    关注我,一起变得更加优秀!
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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