我是老温,一名热爱学习的嵌入式工程师" o+ [, N+ M- b2 @( s% D: k
关注我,一起变得更加优秀!2 N6 ^% Q S7 e7 K1 ^& e. j" B
1 d9 F! A6 k- c
0arnvpq4ssn6406494026.jpg
6 C! F m( M K9 a# t
语法一:1 Z5 E* O+ N$ |3 U* v
8 D$ U2 U! F- M9 I
一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
2 K5 a& X& ~5 w/ B U使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;
5 ?1 _$ Y C% F% |3 `# Q4 ]( L printf(" >>> %d \r
) H% b Q7 r8 A- m", array[3:>); printf(" >>> %d \r
, P. e! _' b8 p' s0 S3 ?5 I", array4]);) P+ R1 D+ d/ r$ v; I+ ]7 T
return 0;%>
' _+ M( R! U' u: t/ v7 B上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。1 F9 u+ x& P+ j0 z: f2 e( t/ I1 E
6 f- ^4 ~: Y( d
iubhckxrtbs6406494127.jpg
( o7 x# s1 K; F+ A8 }: f
* j& H/ G+ J k4 b9 D a之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,3 S2 O d: m5 c" N; A$ J
. G" k( b7 Y( r3 \6 }& N/ O) T所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。) ^+ ]1 M3 R" {6 k
3 _/ F* v- ]$ }& t语法二:
- s5 S* L7 ]5 @" A h) P* P k; ~3 w9 j5 G0 _
再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h". Y& N8 G% L s* U% O
int main(void){ int array[5] = {11, 22, 33, 44, 55};
. q9 _- J1 R* K& F( F1 F0 w2 \ //常用的 C 语言数组成员访问方法 printf(">>> %d \r- s9 S3 S5 n' w# }" }* z& O9 u
", array[3]);
1 ?" ?* C- K8 l- b* p1 l# u //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r& a2 ^+ W# c) _6 Z8 O( e ^
", 2[array:>);}
& h( ?9 N9 }! L' p6 Y8 O0 B上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。* Q) K6 l v9 ~+ n5 |! b* Y2 g
3 p% ^, e ^3 `' [" t
ymz0ihj2grw6406494227.jpg
' g6 j( i5 ]7 h8 d% c以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~% R; r2 b' O& q, C" t: }- b9 L
vsg2k2xwjadExpression_14@2x6494327.png
1 b+ R4 j: a0 A* w3 y
: R8 G3 d6 s/ Y( N! Q( |/ D, m-END-
, R/ o& c+ m; n6 f" R$ O* D1 m往期推荐:点击图片即可跳转阅读5 j# J& G7 ?8 p8 |) y) ^5 A
: B) L* A3 ^5 F8 S S8 K
" K3 `4 ]+ V' C 6 M0 P6 g* e8 g& c6 B
`4 k) ~5 `' I6 K
ssqd5fjvxbr6406494427.jpg
* c$ L$ O% M' E& y" L. {
) f# T- c" a; E. e 嵌入式 C 语言,那些“花里胡哨”的语法特性。
) H. ~1 J W; | D+ V
% U4 b" J2 V0 r/ A" c$ d 3 m# ?' T# y" C
5 @& k5 J% B9 p! r6 O0 `
( _1 r1 g. ~; l
qmeuo3xkmmr6406494527.jpg
( `3 g7 |/ a$ }3 \" Z- K8 ?
+ [! W9 ]6 F% e
嵌入式 C 语言的自我修养
; p1 l ^9 t* g $ D% ]! U+ C% ^' \4 M
9 k7 p1 o$ m- J" [4 y. ] ) J' Z4 g: G1 C |* L
vrjmw0zfnwt6406494627.jpg
! j3 i; z5 j4 `7 f2 I7 o" I
" S7 w. n5 n. T1 j3 x& x! { 嵌入式 C 语言知识点,动态变长数组" |2 h3 I# Z/ H0 Q, K3 C
/ i1 I# D+ v) r. |" A- [
5 @& s+ S! [% C) V6 Y( F , \( \* S! | f Y% f x; d+ n6 H
我是老温,一名热爱学习的嵌入式工程师0 i* P6 k4 h" I, E7 W8 K. _
关注我,一起变得更加优秀! |