电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

485

主题

485

帖子

1623

积分

三级会员

Rank: 3Rank: 3

积分
1623
发表于 2024-8-24 17:50:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师
  U* R* p5 Y* G' v关注我,一起变得更加优秀!
+ I. N7 _7 @6 C0 {1 j, N
. _9 f' Q; U- t0 p

neo04blrc0k64026487541.jpg

neo04blrc0k64026487541.jpg
) U0 O! p( M! `' S7 T; q; Q: z% F
语法一:# F1 @9 p% m% R# y& S* h5 A

2 F& }0 q& B  |7 d: Q% ?一起来看看以下这段代码,在这段代码里面,我们 使用  和 %> 来替代 { 和 }使用  和 :> 来替代 [ 和 ]
  • /*使用  来替代 { 和 },例如:函数定义:int main(void)
    8 }5 d1 N. b( K9 q使用  来替代 [ 和 ],例如:数组定义:int array*/int main(void)    int array = 11, 22, 33, 44, 55%>;
    ) L* V3 P/ {3 [! h    printf(" >>> %d \r
    . C) ~" n- ]6 j& K9 x", array[3:>);    printf(" >>> %d \r
    9 a5 V6 Z/ h. j  I, ?", array4]);
    6 R: @1 b# p, Y. p5 s    return 0;%>
    " [4 Q9 v, H$ d5 \) a上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。/ K/ U% T& x5 {3 l3 w" _
    & _! X8 Q" _7 C* ~

    n3tdbbfxm2q64026487642.jpg

    n3tdbbfxm2q64026487642.jpg

    9 n6 m8 V0 W4 x, [' w4 A
    . q& z5 B" b" _0 {之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,
    ) W3 T+ S- A. y& a# D9 L: S6 I
    ) n" O* f. J2 y: l9 j% ?( Y所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。
    9 n4 V& ?' |+ L/ ^  Z2 H# [9 f# k* d  t
    语法二:
    ; c) e) k7 w  Y9 x, y0 n% L, P
    8 U3 y; W! d/ Z; m& ]4 O$ F再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。
  • #include "stdio.h"' U) A. I2 W) F
    int main(void){    int array[5] = {11, 22, 33, 44, 55};$ a( @$ r% B) H# m# c; U1 c6 Y
        //常用的 C 语言数组成员访问方法    printf(">>> %d \r' j- ?: K, B# n+ Z1 M
    ", array[3]);
    4 U% ]/ d4 d; w# F6 \/ z+ J' B    //不经常用到的 C 语言数组成员访问方法    printf(">>> %d \r- d% z& ]) X* R, m1 Q0 V
    ", 2[array:>);}
    # {' K. [- d8 x上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
    9 r0 U1 V6 T* `2 Y2 G, f3 b
    & F7 E3 ?7 B6 P3 S8 f/ r, }

    cxxxqpjepzb64026487742.jpg

    cxxxqpjepzb64026487742.jpg
    9 ]9 ^) e0 J. r
    以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
    & p1 P! j& D. @5 S% m7 J7 b! d

    jqjv4gr2vfsExpression_14@2x26487842.png

    jqjv4gr2vfsExpression_14@2x26487842.png
    ) g3 v: M2 b8 }& y5 C# k5 w& q7 Q
    7 _: |% k+ n# R- {$ }
    -END-: r% C% p( I8 Y. [4 |
    往期推荐:点击图片即可跳转阅读
    : F' M# o( H* P) T" l1 E2 E" }& r/ m                                                        # W3 C5 Q/ N' E$ K. I) k/ {
                                                                    7 B6 d4 q- U1 @. H
                                                                            . R$ |+ z6 M" X9 f0 ~+ q
                                                                                    7 {, ]/ R9 }5 F

    ll5potwkp2364026487942.jpg

    ll5potwkp2364026487942.jpg

    1 l: ?7 {5 Y( }+ F# M, |. x                                                                               
    4 d% s- V2 Q" D' S. r                                                                                        嵌入式 C 语言,那些“花里胡哨”的语法特性。
    " i! u, K+ Z  X                                                          L9 |# D  w" H2 r8 b. x8 W
                                                                    ' q, @/ o% W3 O2 h; W
                                                                            $ l  f- O; E4 Q* M% V+ G
                                                                                   
    0 H/ }2 F( }6 H* R/ m

    qfn3op0m3jt64026488042.jpg

    qfn3op0m3jt64026488042.jpg
    & Q2 K" f$ R# K6 F) a, r
                                                                                   
    9 s& N1 ^. f+ H1 P% ]2 x                                                                                        嵌入式 C 语言的自我修养
    - c: V) P. s4 q+ [  f                                                               
    ( X$ z7 i: x7 C: Z* v6 |1 U8 m                                                                        # d. f+ s: V* k1 O4 s8 F  H2 `5 M" a
                                                                                    9 T: U5 ~* D: m8 [

    ifrbzlxtj2564026488142.jpg

    ifrbzlxtj2564026488142.jpg

    / c8 o7 B: Z) w  j: Q* D* R* q                                                                                : U9 {' q5 `0 s( Q5 R" [4 i* N, c! g4 {
                                                                                            嵌入式 C 语言知识点,动态变长数组7 X# p7 _3 S, P# k& z! X
                                                                                    . D! |8 F1 s" e/ m
                                                                            $ b: \* P/ y% ]' V8 ?
                                                                   
    & W3 M, r- l7 o                                                        我是老温,一名热爱学习的嵌入式工程师$ z3 o: E' B" y8 C$ t1 X5 u
    关注我,一起变得更加优秀!
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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