我是老温,一名热爱学习的嵌入式工程师
3 U1 R t8 w6 ?, Q& ?! c+ n关注我,一起变得更加优秀!' ]6 L! A6 D8 Z/ J
0 S) J( x$ a! C% j- W- R/ U! R
awl3msl2dyr640192726.jpg
; G3 U5 r7 @' W) a语法一:9 m6 ^8 H+ y# ^" U0 B
0 C& A* `1 }2 n9 R4 C一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
& J% g. r! G6 a5 q# N" I5 Z9 C2 a使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;
& }4 C! g. S" K1 H$ { printf(" >>> %d \r
3 n; n$ _& I* ~& ~% Z", array[3:>); printf(" >>> %d \r1 }& c5 d, v) q5 z8 N
", array4]);
# |& x: Z( ^! [) |+ r, E# k% f6 ~ return 0;%>' V% m% \ t! {' `' |
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。) M" j1 m" c; k5 r0 y
( Q* ]/ H" Q4 F& s& L. X
g5uc0ynwqfl640192826.jpg
# v8 Q4 I8 S( J1 w7 k# [: M9 s0 d" }1 }
之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,2 N& N% q8 q' d3 v! T# t. Y, y
! X) r2 `; ^/ \
所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。
/ A$ x. P6 m) t6 i9 f3 t/ m: Q
0 Y- h$ V2 q& [6 Q语法二:
9 {' e- C" ]3 j7 ?8 ?+ \' Y' [( ~+ W) p$ c
再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"
5 N7 C! G' R2 ~* k8 c0 f& M: E" Fint main(void){ int array[5] = {11, 22, 33, 44, 55};$ b' v6 t3 U3 |- B
//常用的 C 语言数组成员访问方法 printf(">>> %d \r
+ w' y7 t$ H: C/ ^* K! R0 ?", array[3]);
, P/ P$ L8 Z1 E2 K //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r+ S, Y9 o+ q& t
", 2[array:>);}7 @3 z! o4 v7 A8 _8 Z1 ?1 G$ C% X9 \
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
8 k4 v" X& t% `4 X O7 P# o6 w N' M+ G
evwi0i4imsx640192926.jpg
p3 |$ f2 i* b
以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~+ Y& N* u0 a2 w- O( `$ s
dqzcs4k5v0sExpression_14@2x193026.png
; n5 H# H1 [" F4 M4 H. b/ x) w9 x9 G) Q4 y
-END-# B+ f5 f, ^$ p! b' `$ M
往期推荐:点击图片即可跳转阅读) r! M; Y: B: T3 Z6 l/ s
. k$ V8 B7 Y' P6 m
4 @+ \1 B" K# F8 u2 a $ Q" Z# p/ v6 h# s
4 s1 E) r5 G) z+ c
nhooclvx5kn640193126.jpg
9 P+ l& ^" d2 H" v% ~/ i( f+ {6 n
- A6 L* ]0 m( R% t" F/ \
嵌入式 C 语言,那些“花里胡哨”的语法特性。8 m0 J! i( R3 u$ [9 L- }, D& ]& Q
( c4 R8 {' o. R2 o; v5 q9 n! ^
( S% P: g v% i+ |% c $ s/ l" p2 Z. e# R- N9 G7 z
0 r* F$ B+ @1 k9 D3 a3 k
bqqven2e11v640193226.jpg
' o) q4 p3 T( T( n3 ]; i# J# F& s ! n+ f8 U$ t& j2 \8 ~$ S
嵌入式 C 语言的自我修养
% k8 Q/ A3 h- t9 ?* \3 m3 w @0 Q7 ?6 y0 _
) q9 A# ]/ A) O+ Z4 G
% W+ Z6 T6 k+ l* s7 B" A" q
njdx1vxcfhh640193326.jpg
- i1 Q) @% O! }4 K 1 G' u- l0 {3 I- E9 I% r
嵌入式 C 语言知识点,动态变长数组, Y3 r# ~+ g9 Y" U
: n9 Y# H" l; o3 b3 p5 A" R: B) w
! `; x$ d2 w: n9 B% r' B* M
8 Q# x. Z8 C ?! g+ L. z 我是老温,一名热爱学习的嵌入式工程师
* i D' R% U5 k. C$ M& K( \+ J关注我,一起变得更加优秀! |