电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

485

主题

485

帖子

1623

积分

三级会员

Rank: 3Rank: 3

积分
1623
发表于 2024-8-24 17:50:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师  d) H! c4 B/ J, ]8 `
关注我,一起变得更加优秀!$ f2 u6 _0 \* {6 Q+ ?& Z
) s; f/ L3 ]1 m# b

d4t5w5eyyqb64016680131.jpg

d4t5w5eyyqb64016680131.jpg

, h7 H7 H7 Q9 S' o4 s/ B! E$ s语法一:8 u6 d& B: q5 S, n
+ f7 C3 Y* i3 i' c0 q9 z8 [6 V- T/ S/ g
一起来看看以下这段代码,在这段代码里面,我们 使用  和 %> 来替代 { 和 }使用  和 :> 来替代 [ 和 ]
  • /*使用  来替代 { 和 },例如:函数定义:int main(void)
    ! _% @: V5 v" w) Z2 v使用  来替代 [ 和 ],例如:数组定义:int array*/int main(void)    int array = 11, 22, 33, 44, 55%>;
    % G9 `) {- u. L9 x" k$ B( p    printf(" >>> %d \r) u: k% f! a2 ?) z: J
    ", array[3:>);    printf(" >>> %d \r
    ! y9 W+ U* @- p7 r", array4]);
    5 @3 W3 w/ t7 H) E6 {    return 0;%>3 A) Y: R: A* E8 {1 B
    上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
    - a, z5 s( T! s: s/ o
    + a- _8 Q- {" A& I

    ypl1wfvrxh264016680231.jpg

    ypl1wfvrxh264016680231.jpg

    2 Q; a  `% W; }7 N9 i8 h; X. j2 u
    之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,' T( H* r( M* ]: J

    % @0 f- y8 Y5 G+ N$ I所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。- ]; j, `/ b) d4 Z8 e5 f4 N1 F9 t" D
    7 _4 H/ d2 G* c* s$ g0 [5 Q
    语法二:# Q$ k, i0 \! F$ H3 \% R4 x/ Y* z* W
    ( ?, S+ J) z/ I
    再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。
  • #include "stdio.h"' E6 z) D* u/ |; I- E8 s
    int main(void){    int array[5] = {11, 22, 33, 44, 55};
    ! j% J* `8 C3 m% u+ ~    //常用的 C 语言数组成员访问方法    printf(">>> %d \r
    % E. S8 j+ z! a' t, a+ D", array[3]);
    , f! O' i4 j! Z* U8 y( S    //不经常用到的 C 语言数组成员访问方法    printf(">>> %d \r
    - m' P& f1 {3 z5 H# L! H6 A", 2[array:>);}
    : `0 w9 f/ l: h# ]" A: v上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
    5 g7 `3 ^1 p1 q4 G- }' l' ~! ]* X2 r+ d# I

    2ng4rfqzgkg64016680331.jpg

    2ng4rfqzgkg64016680331.jpg
    ! W' o; I) a" a1 P% e
    以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
    . r6 T& d9 F0 V' E. G/ ^  J

    1krobgzphmbExpression_14@2x16680431.png

    1krobgzphmbExpression_14@2x16680431.png
    & L# ?9 F$ ^  `; q# q, U
    2 l# R4 N/ F8 z5 N% \* a& ~
    -END-
    ; m" A5 ^% ~  l7 C" M7 ^! O往期推荐:点击图片即可跳转阅读
    1 S' E0 s+ [. Z! v3 p8 Y1 w9 U2 t8 b# {                                                       
    ; z8 l( s. `- ]6 l  Y+ u3 L                                                                8 g$ R3 E7 Y1 \# t/ F" E1 O
                                                                            + T% \4 t8 P; ~* ?3 I9 ]
                                                                                    ; r# \" L5 X9 }- t/ L

    msykrlugqxf64016680531.jpg

    msykrlugqxf64016680531.jpg
    8 u; g" O+ P$ t& _
                                                                                    6 O) n1 h  L1 m: M
                                                                                            嵌入式 C 语言,那些“花里胡哨”的语法特性。
    * q" p; ]9 P/ P                                                       
      M' S7 G3 |% U- u                                                               
    * n7 ~/ P# S9 _, U6 U$ d                                                                        9 e4 [3 W& g! f( _# b
                                                                                    * y* N, A* h. F1 E& ^

    pl2hl1cppy164016680631.jpg

    pl2hl1cppy164016680631.jpg
    # p3 U5 s9 P; O; a) j! p' R
                                                                                   
    / @5 Z, F2 y; u6 D' M3 j                                                                                        嵌入式 C 语言的自我修养
    * o1 o+ Q# x8 B' f                                                                1 V' x9 t7 W/ v8 K, ]4 C) h
                                                                           
    " n6 h/ f4 J1 V! T                                                                                $ x( b# g. r- p* _  L7 L9 a

    inlyk5py3xk64016680731.jpg

    inlyk5py3xk64016680731.jpg
    9 T4 z2 p& [% {' j6 t8 ?6 C
                                                                                   
    8 e! U; Z' w" H3 j4 t* e) j, R                                                                                        嵌入式 C 语言知识点,动态变长数组+ ]+ w# b9 H, P/ K( \
                                                                                   
    * E5 f3 w) \" j. g2 t( I( ~                                                                        ' c  y" W) ^: V7 O$ l, D
                                                                    ; ?6 ?# G. T& b& G; w" b
                                                            我是老温,一名热爱学习的嵌入式工程师
    $ }9 J- N, n6 R9 z关注我,一起变得更加优秀!
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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