|
我是老温,一名热爱学习的嵌入式工程师
U* R* p5 Y* G' v关注我,一起变得更加优秀!
+ I. N7 _7 @6 C0 {1 j, N
. _9 f' Q; U- t0 p
neo04blrc0k64026487541.jpg
) U0 O! p( M! `' S7 T; q; Q: z% F
语法一:# F1 @9 p% m% R# y& S* h5 A
2 F& }0 q& B |7 d: Q% ?一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
8 }5 d1 N. b( K9 q使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;
) L* V3 P/ {3 [! h printf(" >>> %d \r
. C) ~" n- ]6 j& K9 x", array[3:>); printf(" >>> %d \r
9 a5 V6 Z/ h. j I, ?", array4]);
6 R: @1 b# p, Y. p5 s return 0;%>
" [4 Q9 v, H$ d5 \) a上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。/ K/ U% T& x5 {3 l3 w" _
& _! X8 Q" _7 C* ~
n3tdbbfxm2q64026487642.jpg
9 n6 m8 V0 W4 x, [' w4 A
. q& z5 B" b" _0 {之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,
) W3 T+ S- A. y& a# D9 L: S6 I
) n" O* f. J2 y: l9 j% ?( Y所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。
9 n4 V& ?' |+ L/ ^ Z2 H# [9 f# k* d t
语法二:
; c) e) k7 w Y9 x, y0 n% L, P
8 U3 y; W! d/ Z; m& ]4 O$ F再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"' U) A. I2 W) F
int main(void){ int array[5] = {11, 22, 33, 44, 55};$ a( @$ r% B) H# m# c; U1 c6 Y
//常用的 C 语言数组成员访问方法 printf(">>> %d \r' j- ?: K, B# n+ Z1 M
", array[3]);
4 U% ]/ d4 d; w# F6 \/ z+ J' B //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r- d% z& ]) X* R, m1 Q0 V
", 2[array:>);}
# {' K. [- d8 x上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
9 r0 U1 V6 T* `2 Y2 G, f3 b
& F7 E3 ?7 B6 P3 S8 f/ r, }
cxxxqpjepzb64026487742.jpg
9 ]9 ^) e0 J. r
以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
& p1 P! j& D. @5 S% m7 J7 b! d
jqjv4gr2vfsExpression_14@2x26487842.png
) g3 v: M2 b8 }& y5 C# k5 w& q7 Q
7 _: |% k+ n# R- {$ }
-END-: r% C% p( I8 Y. [4 |
往期推荐:点击图片即可跳转阅读
: F' M# o( H* P) T" l1 E2 E" }& r/ m # W3 C5 Q/ N' E$ K. I) k/ {
7 B6 d4 q- U1 @. H
. R$ |+ z6 M" X9 f0 ~+ q
7 {, ]/ R9 }5 F
ll5potwkp2364026487942.jpg
1 l: ?7 {5 Y( }+ F# M, |. x
4 d% s- V2 Q" D' S. r 嵌入式 C 语言,那些“花里胡哨”的语法特性。
" i! u, K+ Z X L9 |# D w" H2 r8 b. x8 W
' q, @/ o% W3 O2 h; W
$ l f- O; E4 Q* M% V+ G
0 H/ }2 F( }6 H* R/ m
qfn3op0m3jt64026488042.jpg
& Q2 K" f$ R# K6 F) a, r
9 s& N1 ^. f+ H1 P% ]2 x 嵌入式 C 语言的自我修养
- c: V) P. s4 q+ [ f
( X$ z7 i: x7 C: Z* v6 |1 U8 m # d. f+ s: V* k1 O4 s8 F H2 `5 M" a
9 T: U5 ~* D: m8 [
ifrbzlxtj2564026488142.jpg
/ c8 o7 B: Z) w j: Q* D* R* q : U9 {' q5 `0 s( Q5 R" [4 i* N, c! g4 {
嵌入式 C 语言知识点,动态变长数组7 X# p7 _3 S, P# k& z! X
. D! |8 F1 s" e/ m
$ b: \* P/ y% ]' V8 ?
& W3 M, r- l7 o 我是老温,一名热爱学习的嵌入式工程师$ z3 o: E' B" y8 C$ t1 X5 u
关注我,一起变得更加优秀! |
|