我是老温,一名热爱学习的嵌入式工程师
6 n) H% y' m: ~5 K, s* d关注我,一起变得更加优秀!
: [: g8 d, c ~) ]+ G- w$ w7 M; ~3 R( E2 u
esotnnw5eum6403554431.jpg
3 \$ A9 _! O7 w u
语法一:
' d& Z2 i" t. ^3 I: o3 r; e& v4 y+ D$ {' V% w
一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
( {6 ~& X# i: j4 m使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;
. B+ {; J+ s: j& G0 w- g printf(" >>> %d \r4 L9 `$ y3 W8 E! [) j5 y& g
", array[3:>); printf(" >>> %d \r
) B2 m9 \% z# ^+ I) e5 n", array4]);' R9 v; R# F! P4 ^! r5 i" U# n1 b
return 0;%>7 ^; P8 L7 Y, \" ~) d
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
+ @- v6 T" F! m Y* M! K) y
0 I; p, V l& t8 F" J, n* t
qzmufig1n3o6403554531.jpg
" D9 F1 K& [" [4 q/ n1 ~% ^( b% ~; ]6 x5 Z7 r
之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,
7 O8 X9 a: [& v8 D d+ ^# `9 G. O6 @, H& P
所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。) d2 ?/ U9 C9 c
' T: p" _% w- C; P6 k/ y! _- i u语法二:5 t6 W1 m% V+ q; h! f; T, f( ^0 o
1 { h7 a8 G' |再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"
! r% m. }, q) kint main(void){ int array[5] = {11, 22, 33, 44, 55};
( C1 M# X N" b; w9 M9 X //常用的 C 语言数组成员访问方法 printf(">>> %d \r
- `; [7 g+ @2 G. I4 D) S& \4 B", array[3]);
7 Y% O' `2 f5 B0 J //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r
4 ]4 z; ]2 [( G! ^& d s", 2[array:>);}
$ A- O' F2 h9 Z7 W上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。$ [( i& x2 }2 L5 o6 p4 T: p2 F$ R& l {
( b* S2 J* p6 N8 f
piiutevozw46403554631.jpg
* w0 o7 @& }; [0 h$ i; m以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~: |8 F# y- s* M1 P, d+ z! \' @
t2kas50mpguExpression_14@2x3554731.png
6 B: N( I w( ?- ^9 W
8 }( `; W3 n' e: L" }
-END-! m- N" Q% { T6 A' p7 H2 E- O
往期推荐:点击图片即可跳转阅读
9 c9 Y, x8 j' j6 m7 h: o
3 F& X3 r$ W) N& ]' H7 q& `* l " G' a9 w/ \3 C4 n
2 A" K6 C7 O& Q8 O0 } f1 }5 U
9 g8 N- a$ z# r8 q; F9 {& Q6 e
xrl4qdtmad46403554831.jpg
, S* C1 {6 D+ m, Q3 [
0 z) p8 i5 }( \5 f; Y
嵌入式 C 语言,那些“花里胡哨”的语法特性。8 f; G% L) k( ]: @) W6 u7 {7 C
* d6 d* W3 X! f
$ \ G/ q" j- i/ [
8 I7 Y& \2 |' y& I! h' h " c0 I/ d7 b. ]7 {5 |
wscq2olinaj6403554931.jpg
3 a+ O" `( `: P8 k- v: e , Y) c! R6 c% i! }/ B0 y
嵌入式 C 语言的自我修养, _1 q' ?' ?3 j
* Y7 Q# x+ D9 e7 ]/ @0 Y
. t. v' U2 d6 s
2 g' D f% d$ m+ w! L- O
za2qmmj3csk6403555031.jpg
6 U/ i) Y0 O! |
+ f9 q( H; w P2 R 嵌入式 C 语言知识点,动态变长数组* s& M* d& L3 b6 Q* W
9 r3 e k0 Z4 |( O
! d) b; I9 a4 k# S# a
+ O2 o( Q, v$ s' d7 K! \
我是老温,一名热爱学习的嵌入式工程师
. e6 i1 X; m% w: C4 g关注我,一起变得更加优秀! |