电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

485

主题

485

帖子

1623

积分

三级会员

Rank: 3Rank: 3

积分
1623
发表于 2024-8-24 17:50:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师
) v' k0 |0 ~& J/ e4 A! h关注我,一起变得更加优秀!& i: i, E9 F/ p1 U& `

& R& _4 O9 \. F2 W

xeejwzs2pzk64014192226.jpg

xeejwzs2pzk64014192226.jpg
/ V% r# v7 |, Q& i8 q
语法一:' F3 ]+ j' G+ v* k- q( P  M) i

; I0 ^5 d0 @  q. E; {( E一起来看看以下这段代码,在这段代码里面,我们 使用  和 %> 来替代 { 和 }使用  和 :> 来替代 [ 和 ]
  • /*使用  来替代 { 和 },例如:函数定义:int main(void)
    ; A4 x" T$ E5 r3 i使用  来替代 [ 和 ],例如:数组定义:int array*/int main(void)    int array = 11, 22, 33, 44, 55%>;
    1 A  g7 T: R) o2 Y" v- F    printf(" >>> %d \r
    ) E6 I' S$ R7 B: _! X", array[3:>);    printf(" >>> %d \r
    6 ~3 w" g$ s9 `& q. N; C  L", array4]);0 v7 [6 X; Y& E* }  L
        return 0;%>
    # U. @$ _% H$ F# E1 X9 h# u上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
    # x5 U/ b3 u. o8 Z2 {: }0 H. ~5 m, v6 p3 Z5 o

    mv0krqwnkjk64014192326.jpg

    mv0krqwnkjk64014192326.jpg

    8 M! z  z* o0 m6 I! q% Q- W. H; P/ c4 d. `5 h
    之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,8 ~8 |2 T7 S2 D! N# S

    , \; c/ K/ c$ e* f( z! ^所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。* V  a3 D0 a4 [( T3 z- L
    ! v6 V. w. A" H- y( {0 A. \" r
    语法二:8 v% W- N9 x2 z
    6 B( ^8 K/ z5 P/ p  Z
    再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。
  • #include "stdio.h"" \3 c; W6 Q( J  G
    int main(void){    int array[5] = {11, 22, 33, 44, 55};6 @! {. p* K+ l8 G* i
        //常用的 C 语言数组成员访问方法    printf(">>> %d \r
    5 q, P2 I, G: i2 h, W7 [( ?0 c5 t", array[3]);
    9 U' V: F1 V* i0 ?. g# C    //不经常用到的 C 语言数组成员访问方法    printf(">>> %d \r2 K, x& ?2 f9 P$ ^/ |7 n
    ", 2[array:>);}6 t: n: y' ]( V6 o  e( k
    上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。3 [; m" [, r6 K$ p2 d1 U8 `1 h; l

    # K0 b. d8 {2 c( a0 U: {. \5 K

    4rzwrhkclzt64014192426.jpg

    4rzwrhkclzt64014192426.jpg
    ' g+ G2 _8 i$ q4 R: B+ C
    以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
    7 ]" ?" C# x  }" g2 R

    exx0s5ryogqExpression_14@2x14192526.png

    exx0s5ryogqExpression_14@2x14192526.png

    / j1 V' y8 Y9 g5 K! _9 G
    1 c; t0 M9 E8 E; W1 p8 G7 K-END-
    8 R1 z+ t) K( {, |% l5 k/ I; V往期推荐:点击图片即可跳转阅读6 n  H' m+ P. O4 E+ F
                                                            , S) ?5 z$ s8 S: i9 n
                                                                    & U# D% b- M  O1 r' m9 `4 l% m( p) s3 q
                                                                            5 \7 _  O, k& C1 d! Y  W' G9 R
                                                                                    , f* W/ y& V) L( q! @

    nukhyu2ykje64014192626.jpg

    nukhyu2ykje64014192626.jpg

    ( j( p8 l1 ^0 U1 x0 H  M9 s7 X                                                                                / f! d7 e; G5 m6 b2 L$ C' w
                                                                                            嵌入式 C 语言,那些“花里胡哨”的语法特性。1 h8 k; n0 f/ b  c
                                                           
    2 j' I. B% j; x# I0 E                                                               
    0 h( y% j- s! q                                                                        : a  u/ N7 |9 _+ s4 `! `  E& ~
                                                                                    % `  z9 d; }: ?; M

    0gln0o1ufot64014192726.jpg

    0gln0o1ufot64014192726.jpg
    ; R: p  D: W+ y0 V
                                                                                    ( Q3 g2 x1 w9 L7 \5 Q
                                                                                            嵌入式 C 语言的自我修养
    * e& T, e  v7 m( q  ?                                                                # C' [1 k0 j! m- _- A2 D8 E  S5 E
                                                                           
    " U" ?' `  @7 H& S0 ]                                                                               
    0 F4 t  m  \. d

    3l5ebd5cpww64014192826.jpg

    3l5ebd5cpww64014192826.jpg
    0 w/ s; J' L8 T  H  [2 t) n: r6 \* y
                                                                                   
    ) r# k; w' Q$ j1 u- K+ t                                                                                        嵌入式 C 语言知识点,动态变长数组8 M% I7 A" I4 t
                                                                                   
    7 x! C. y- Q% a0 p. @- _8 w                                                                        ! ]8 s+ y% ^0 g, o" k
                                                                    ) d& k5 x0 X8 ]: u9 o+ d5 q; b9 S0 ]
                                                            我是老温,一名热爱学习的嵌入式工程师+ x9 {' k  E* H# {7 H
    关注我,一起变得更加优秀!
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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