|
我是老温,一名热爱学习的嵌入式工程师
3 }% Z+ U3 @! o4 y! N关注我,一起变得更加优秀!. o2 M0 i0 m& \& ? S( [, E
2 f' x$ s9 j# }2 U3 p4 c, L# G
izvqhepdig36406072152.jpg
1 |# O! o- b$ ~( E6 Z/ T7 W语法一:& A5 U1 @/ m8 P5 c _
- }% s4 x' v: @" D# F4 @/ O一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)! r0 H/ R. A6 `* h- A; \; }5 D
使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;
& n& y: r( x" j) z8 M printf(" >>> %d \r
1 S9 y/ I( d# b; T! o2 j", array[3:>); printf(" >>> %d \r
2 |7 d1 R+ h- s% W( t. Q3 y5 T; \" u! u", array4]);
: f3 g6 u$ g( X% I, F return 0;%># F2 x8 k- r& s5 k. Q
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
+ R" V/ \- g" o; g+ r; Z& }0 X. ?! g% n
zfizhyx4a3g6406072252.jpg
3 j" \: D* c4 p! t! U% O
7 X$ n; r5 f4 c9 k% P) A6 h. D
之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,/ `& W% S5 I7 u& r% M
- K& N0 e* ]/ U9 d. H. f$ g所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。! h; G" u/ U9 c6 y% o! L. y
- z& d* d, b# G: I4 |- b: b
语法二:% K5 B: s G- u. R' Q$ z1 i
8 S% Z: d9 C: f$ k: C8 b- q再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"
/ ]* F4 ]" i' J4 D$ i t m' L3 Eint main(void){ int array[5] = {11, 22, 33, 44, 55};( _. h) [1 V* f5 I
//常用的 C 语言数组成员访问方法 printf(">>> %d \r
+ `2 k0 p7 x }& y2 K& ^+ C: e", array[3]);: |, m5 `: J) V4 ~ g
//不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r. h5 y9 a9 @, I) G5 }! i
", 2[array:>);}, F {. Q$ M, j+ g
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
* Y" X- r" g- [
9 }5 `4 J G+ J
domc3whhfz16406072352.jpg
- r3 l; C, e& Z/ ] \2 n7 s2 }, [" R以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
; R- I) w) h) O$ ^5 S. ]& j0 s, j* C# |
0ouxvoyjjk5Expression_14@2x6072452.png
9 h2 T( T, U9 G' H
5 @( r4 X3 K& E k-END-
6 I0 w1 J" h7 o" R! _+ c往期推荐:点击图片即可跳转阅读" K$ ^: }9 o& i" h3 C
6 k4 |+ y+ Z5 A) |' O$ Z 0 m7 m- Y o. F' o' w
8 c2 Q6 d) R( d3 a+ N2 y
" |% `0 b; ~( G3 S
tcfvinoj0p46406072552.jpg
, z4 u0 R& L$ j& M p" H
; h, t7 V" f9 @3 E6 D0 R5 { 嵌入式 C 语言,那些“花里胡哨”的语法特性。
5 @: \! v/ m- e8 n, E1 {
+ t( e0 R; S7 R 6 G9 s; J* w7 S* C" s$ G
9 k/ w: a+ {) A
" v7 y, J/ ]% a1 B7 G
b4fki5shdvf6406072652.jpg
0 k- s7 c a) ^" J) ^1 l
1 k; d0 D0 e( M Y% Q
嵌入式 C 语言的自我修养
8 `/ K9 m3 t, E. S) S' P7 O. i 2 A3 l/ u0 X5 ^1 j9 J
: ~' s: i6 ^ u; p) g. O , R# b) t- \8 T1 X) ?* }& \* G1 e# q
bjkhigdpl5d6406072752.jpg
% L+ M( c3 N3 {; g3 t: O& L
! D' v# q7 P2 v6 ^ 嵌入式 C 语言知识点,动态变长数组: f; P5 E) \2 C: u
/ g$ d9 d+ p1 s; y 3 i1 Y+ K! T4 C+ g1 d9 |
6 |: x- f/ z' f
我是老温,一名热爱学习的嵌入式工程师8 m+ l3 j$ A7 ]2 U/ A8 @& F
关注我,一起变得更加优秀! |
|