电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

485

主题

485

帖子

1623

积分

三级会员

Rank: 3Rank: 3

积分
1623
发表于 2024-8-24 17:50:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师3 l4 ^) K9 |8 t1 r& w
关注我,一起变得更加优秀!
+ [0 }* H' X4 P/ S+ [; k
8 S; X. ^, O2 R$ J6 ?8 w2 F$ i7 F

40evx142jzm64012796443.jpg

40evx142jzm64012796443.jpg

9 k; [5 Y$ f) b7 n1 Z4 z; f语法一:
2 A8 i% A6 P* P8 c- i# D4 f
  J4 e3 J3 I, J$ j, I! d一起来看看以下这段代码,在这段代码里面,我们 使用  和 %> 来替代 { 和 }使用  和 :> 来替代 [ 和 ]
  • /*使用  来替代 { 和 },例如:函数定义:int main(void)
    % k- }0 e9 I  d3 l/ ?使用  来替代 [ 和 ],例如:数组定义:int array*/int main(void)    int array = 11, 22, 33, 44, 55%>;7 c& ]3 H- Z. Y6 |
        printf(" >>> %d \r
    6 H  W5 S& O) u", array[3:>);    printf(" >>> %d \r* H6 P& a0 e1 ]9 r
    ", array4]);+ S( ^, l+ a7 }+ b) n' F% x+ {
        return 0;%>
    6 |2 C2 @( p/ e3 {上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
    % Z$ P7 b( V# [: K7 |- q) `8 O$ {- `1 V2 K7 w" @$ J

    lh4ltzpkoky64012796543.jpg

    lh4ltzpkoky64012796543.jpg
    % ^1 K7 c, ~2 U2 P) h
    ! Z" T, a# a( l
    之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,
    + g. d' y+ d/ x' M8 y
    * @+ y: q: h2 X! \8 ]. y. ?3 p, m所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。3 {- i& L' i; ]; a% Q: K. Q5 S) c

    & F+ Z8 y# t3 l4 G语法二:
    ! `' t3 [- D$ z+ r( r3 s, ?& i$ b3 P" ]: ~, }4 I" }
    再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。
  • #include "stdio.h"
    9 Z: i/ u5 x. H8 t5 ^int main(void){    int array[5] = {11, 22, 33, 44, 55};' O4 S, p6 c7 j4 W; J. M+ S
        //常用的 C 语言数组成员访问方法    printf(">>> %d \r
    ; v: V9 h; u2 H9 F# F# P", array[3]);
    " n$ \0 r" t$ H8 C0 b" |    //不经常用到的 C 语言数组成员访问方法    printf(">>> %d \r
    / H; {( E' M: \! a", 2[array:>);}* `7 j- h- K" e/ z  l6 D2 p7 ~
    上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。) z) Y( S. K$ s& X+ [
    , E0 S0 t1 H( |# }1 O# g

    lxxikswlv1o64012796643.jpg

    lxxikswlv1o64012796643.jpg

    ' e+ W; e! c$ b* G以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~3 W+ b3 e8 A5 t

    hp1efk4qrdiExpression_14@2x12796743.png

    hp1efk4qrdiExpression_14@2x12796743.png
    " A. I% O% V7 T! K" T; [

    : [5 |6 i! L0 m0 ^1 Z-END-
    % t* {" Z5 M- C8 \$ W2 K往期推荐:点击图片即可跳转阅读9 Q0 j! c& f. M' a: C$ G
                                                            ' r5 g8 h4 Y9 f
                                                                    ( r- E! R" s! R, E8 \, x
                                                                            7 X  D: x; F" J) |
                                                                                    2 s' ?( q3 `1 G

    m2kitmmv4dc64012796843.jpg

    m2kitmmv4dc64012796843.jpg

      Y) T+ a; o, p- [; `4 m% z, F                                                                                . H7 G1 _3 I+ Y! B/ F
                                                                                            嵌入式 C 语言,那些“花里胡哨”的语法特性。3 S( p7 c* c0 n" F% e0 ]6 v: }
                                                            3 C5 l) N2 `0 S" w. r# p+ q
                                                                    9 [. ~$ v/ N. G  g" K' W1 g
                                                                            ( W* E/ F+ o& m9 Y; v" ?6 ~! K5 m
                                                                                    * ^( r5 z* a' c" p3 F" K+ z( s# C

    2pc45q43gzj64012796943.jpg

    2pc45q43gzj64012796943.jpg

    5 z- ?+ T; S1 Z. n1 Y% f' u                                                                                6 b0 z. x+ ]1 Z
                                                                                            嵌入式 C 语言的自我修养$ S/ p# y: A, a9 v8 V+ f$ d
                                                                   
    # u' u4 i% g/ _8 C/ p6 \                                                                       
    : Z  U9 p4 J7 P. I, g                                                                               
    * I2 \+ K- m7 F3 u& _& S  E

    mj1mkisu5li64012797043.jpg

    mj1mkisu5li64012797043.jpg
    % H! I) C: l) P2 P4 Y  l2 A# s% H& L
                                                                                   
    1 J. W: Q7 i) }% v9 H& [; q$ o                                                                                        嵌入式 C 语言知识点,动态变长数组
    0 {! s- p9 t$ m% Y4 j3 ?) L: |+ {                                                                               
    * ]9 w% G4 n4 p$ E# R                                                                       
    : e! P! X  t" Z% B$ ^                                                                2 {0 H6 y$ D5 Z" R" [+ H
                                                            我是老温,一名热爱学习的嵌入式工程师
    ! E% N0 w7 m% E! i7 W; s6 ?关注我,一起变得更加优秀!
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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