我是老温,一名热爱学习的嵌入式工程师) U) t) ?) K q0 S0 U( k9 i% D
关注我,一起变得更加优秀!" k" B) r L8 L2 t& V
1 G! d+ v/ i5 O( ?) s! N; `2 G
uhr03u524kk64012763729.jpg
( e$ m+ R( c! @3 m* i语法一:( q4 ]% Y2 G4 v
- h; z; b0 {5 T
一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
* l0 J/ x2 B1 F+ z1 b& H& ^使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;) E2 ^4 z, a* }4 N8 q$ o
printf(" >>> %d \r
; p V+ f/ c/ E& p", array[3:>); printf(" >>> %d \r
% Q) c' ^7 Q. Z) `", array4]);5 Z) O( }7 s+ s9 M0 D
return 0;%>: U: M0 U- U! |- W
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
; M$ D1 A) f4 c# @( [# G J2 z) o4 r$ L
3 r0 x* D& t! ?/ n1 i+ h% O: A; ] v
x5ahgoemj5c64012763829.jpg
, l& b& t- C' \* S9 f# H
9 b; j5 A' p% K5 A) N! u- k之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,$ I+ }8 ~% E: ]
% @7 d8 x6 c8 ?3 g: X: }
所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。
; ~. Y% h* W9 v# Q6 y$ d W" Q* y5 a; e& B, j6 \9 f
语法二:
1 w3 J T& n; o+ H% d" g
( I. c) Z. t) ~& ^8 w$ K/ d再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"
' a6 K6 [! c/ m5 w& Z6 {" h Kint main(void){ int array[5] = {11, 22, 33, 44, 55};4 ]# b' y" I6 v+ o# w" X% |: R
//常用的 C 语言数组成员访问方法 printf(">>> %d \r
* T& `1 V# ~% r+ @; D/ N", array[3]);
2 @7 T- O" m7 @4 J: `% O //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r
]# s( G! C0 i7 K: C! p* r", 2[array:>);}
/ T n( Y+ Q* G+ s/ D6 m上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
) \: Q) v1 i+ u
: `+ m- \4 H8 ]) Y; f
rdjekanhykr64012763929.jpg
* d7 B. ^3 O% F& i+ K* U
以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~8 m& B5 ~7 R, z' h9 K
osp0xjoz4vuExpression_14@2x12764029.png
- Q1 _: H! m6 r; p) D. O; B' E
* f1 v4 X7 N9 N/ Q-END-
1 I5 K' S( P& P# \往期推荐:点击图片即可跳转阅读" {0 \* P1 Q& W" m% \0 T
: y5 n2 q: n/ M$ c
/ W3 C& {1 ?. Q! K# q
. Q+ L" M# E8 D. r/ `+ c$ c7 s# E 2 f: D* P& e* R6 M! R0 b& h& ^
xvmbaf2nluu64012764129.jpg
- c; G2 _5 J# V4 R' I" f - k) M7 _5 J+ I. J+ ^" G S. r
嵌入式 C 语言,那些“花里胡哨”的语法特性。
9 M) [: ` V: q" t! c% s& l% N * p/ F( w3 p, K' F; N' N! t
; {1 V8 C3 M* r9 E
/ I. l3 x9 C' }% e9 n& x' x# Y ; v" |7 Z( B* V, \1 f7 y
1ofp5ndlg4r64012764229.jpg
# C2 {- ?, A6 U' g7 x+ u. ^$ J$ c , E+ D) {( X3 t0 {2 @5 J# M& X( ]
嵌入式 C 语言的自我修养
) H0 u: K g( u/ j! _& h
7 B# {: |' W- {
; G# ]. J e! C + b! I$ ?6 O+ w% p
4xvuoq3yknb64012764329.jpg
; |- x3 ]; `' @0 G : T. T: u- z7 p/ X- X# w3 r
嵌入式 C 语言知识点,动态变长数组
. ~$ B7 ~4 n; [4 j& L4 F6 R- ?
g) }% W6 l5 b2 J# t% Z# b( p # l2 n( f( a& j5 w1 ~. ]$ P: ]
5 N2 n/ }- f- H# W [3 J 我是老温,一名热爱学习的嵌入式工程师
" q3 b ~8 k4 j7 J) U0 W8 ^! H关注我,一起变得更加优秀! |