电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

485

主题

485

帖子

1623

积分

三级会员

Rank: 3Rank: 3

积分
1623
发表于 2024-8-24 17:50:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师' C5 T5 T% N; V
关注我,一起变得更加优秀!
8 P/ h; |) p6 A
" l# K8 N/ I0 N; ^* f2 V

3uljzcy1jra64014415144.jpg

3uljzcy1jra64014415144.jpg

* {- p% K- R0 v) i- m语法一:
- x  F4 K8 c1 A" z& G1 j5 H
6 }; ~9 M9 k" q* [. X  b4 H2 ?. u' z一起来看看以下这段代码,在这段代码里面,我们 使用  和 %> 来替代 { 和 }使用  和 :> 来替代 [ 和 ]
  • /*使用  来替代 { 和 },例如:函数定义:int main(void)
    . g0 a2 s6 H' p/ U3 m使用  来替代 [ 和 ],例如:数组定义:int array*/int main(void)    int array = 11, 22, 33, 44, 55%>;  E$ z/ k  l* p2 J
        printf(" >>> %d \r! s/ I2 E4 t1 L
    ", array[3:>);    printf(" >>> %d \r4 _. Z# n$ {9 `. Z) L
    ", array4]);6 o9 W. z$ r- n8 @7 P$ g5 b
        return 0;%>$ E# f, g9 s/ E( }6 ?6 |! b0 U# v
    上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。% m# Q9 l0 o6 j0 e7 \4 @
    ( e8 U0 V; h1 X' l& b

    nguwcdjhs4f64014415244.jpg

    nguwcdjhs4f64014415244.jpg

    3 H" i) e" s  W9 u( ]8 Y& n2 G6 x  d  L  a( E. c
    之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,1 [& n& V0 e6 F6 G# e5 J% @: V5 j
    " n; h4 k; {. `
    所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。
    5 i1 g0 E7 y4 B4 S2 B, l8 I7 }7 \5 \- `2 ]# N/ W
    语法二:
    / r# ]. n, \$ D& b1 d4 s1 J/ C
    7 I" \8 r1 [' j( V! \" ?再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。
  • #include "stdio.h"3 l" U% @1 O0 j% b) l! _6 @& ^
    int main(void){    int array[5] = {11, 22, 33, 44, 55};. N5 I. P2 D7 h, m7 [$ L
        //常用的 C 语言数组成员访问方法    printf(">>> %d \r
    ' I! F- V: J( k4 s", array[3]);
    ; J' S5 c: I: G    //不经常用到的 C 语言数组成员访问方法    printf(">>> %d \r+ M; P, R, K% O" g7 C
    ", 2[array:>);}* a4 T$ D$ W/ I- S& J. ^" E% Q
    上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。7 G7 ~. k# M' D8 M

    7 R( |, q0 F1 e5 K! z. {6 }  {

    qmcvgwfrafy64014415344.jpg

    qmcvgwfrafy64014415344.jpg

    - M+ @( N8 `" b9 _( z( W# T% X/ s以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
    5 K! c4 n/ ^( ^) w

    rjkjiglgz2uExpression_14@2x14415444.png

    rjkjiglgz2uExpression_14@2x14415444.png
    ) M/ s8 D' S7 h# t* c

    & L1 T0 W) z) M8 f-END-/ E3 x* z. G: G% l
    往期推荐:点击图片即可跳转阅读
    6 y* M5 A7 G0 ~3 |( ?; S1 v8 E1 V                                                       
    ; O- z" ?; @/ v( X                                                                - }: p; `$ w2 ?6 O7 q
                                                                           
    9 ^! w' ~3 y( C# y8 P                                                                               
    7 X+ r& }+ k. b# \- w& U

    kicakdmo4vp64014415544.jpg

    kicakdmo4vp64014415544.jpg

    / ^& j$ d" f0 U- }                                                                               
    ( x( ]' H, Z0 t- b5 t1 t, \                                                                                        嵌入式 C 语言,那些“花里胡哨”的语法特性。$ c" L5 k( S/ ?  v0 J, {( S8 C
                                                            + w$ |" o: Q( R) X
                                                                   
    # o; \" o* d" I3 _                                                                        ) ]; e; ~4 {0 s" M5 _6 ^8 Q
                                                                                   
    $ `; r) r. z0 E: s, r

    wmpjuh02vym64014415644.jpg

    wmpjuh02vym64014415644.jpg

    3 n; i; m8 s* @; M, q/ {                                                                                " G4 T& x0 T- U$ N
                                                                                            嵌入式 C 语言的自我修养3 G3 t. L; z% O" F
                                                                    4 _; @2 }% d$ @, v( p. H. k
                                                                            ) W& p+ r# Q" |& k; b1 d
                                                                                   
    " D6 c+ r! q; k* Y

    rdysusj3kuf64014415744.jpg

    rdysusj3kuf64014415744.jpg

    $ d" B. Q/ {4 m( K3 d                                                                                # w7 M& J5 ^! o8 ~2 h  i9 }, w1 Z
                                                                                            嵌入式 C 语言知识点,动态变长数组( N  Z) O2 q# ~# A! i
                                                                                   
    2 Z, K. D7 n# }                                                                       
    1 e( E. I3 ?: @1 J                                                                7 }6 B: ~! I5 s3 y, q! x* h
                                                            我是老温,一名热爱学习的嵌入式工程师
    ; f& B( \+ ]- }+ s+ p关注我,一起变得更加优秀!
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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