|
我是老温,一名热爱学习的嵌入式工程师' l2 i: x) i: j1 f9 ]) e; [' |
关注我,一起变得更加优秀!
, B* V* G& g3 n/ b
; q6 {; R7 O0 `9 i& o
rp1x3kl5ba46401495848.jpg
' }7 z4 x6 u; Y/ z t9 y$ z% k语法一:
( W9 J; W2 E3 T. U# L7 C! f( ^6 n, W0 `0 ^0 L8 Q |
一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
2 O% b: P/ z: T; X使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;* Q7 L) ] H7 Q5 B% G5 `
printf(" >>> %d \r- q% i$ T+ [9 \! K0 a. ]) m6 w$ w
", array[3:>); printf(" >>> %d \r
3 E' e8 S; P& l6 Y+ ~1 e+ E1 T", array4]);
^3 @2 \6 Q5 W) H5 ~+ Y) } return 0;%>
; W4 P* {- o2 K0 |2 B) \8 H% J6 I上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。+ X7 A; O/ ?1 v* g7 f1 C( p
# P' @1 }9 H5 w# [, z; U8 Z
2k41qymstwe6401495948.jpg
- E2 r4 p' p6 B" G2 p+ ?% \% q
5 j' z/ u4 `7 a8 A4 b% u- r之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,2 O$ ^, `& j! b6 T, h; N
- O& }+ q5 X. M6 h# P. s4 G$ k; v所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。- a! F" P i! y |
! U+ _- `1 p& k& Z, y语法二:& F% X% z1 M' w) f
4 S( h- p/ ~/ \ _
再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"
6 M/ Z; A/ S6 A. A2 oint main(void){ int array[5] = {11, 22, 33, 44, 55};
9 A( Q; E' ~3 s* e! I, K% B4 F# } //常用的 C 语言数组成员访问方法 printf(">>> %d \r
: }# C9 b8 q( L* d4 Y, S& b", array[3]);
+ K) ^# J) a- {9 q# `* g //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r! K6 Z- h+ _, U) e4 i2 V' g' F
", 2[array:>);}% F/ s7 Q+ p% @: I# x8 e! G! D8 U
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
0 g* D7 r' w; i1 h8 p# [5 o0 m2 o0 t5 J6 {/ {( ~8 [8 t
3jphhdsuim46401496048.jpg
1 Z) `3 i# v/ N8 v" S8 ^2 q
以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~6 N6 h6 z# S( S: b/ r, {
1ypeobs3cxkExpression_14@2x1496148.png
( w4 D* J9 A* N' D: p
% R ^1 r; X7 N) l3 ]0 v- p; v
-END-
2 g$ s6 z+ F$ K往期推荐:点击图片即可跳转阅读$ \* e3 |$ V2 y; w
- K9 }5 R* Y# A" o5 o * h& F9 {% ?' h$ H1 a
9 S+ X! J: M1 B
9 U2 l! h, I/ [" `3 H+ B
fcdpmax5fqo6401496248.jpg
3 Z, O& e, |8 Q3 P# `) Z
4 I: Z0 q, h1 S, [# q! i" @/ ]5 y8 E 嵌入式 C 语言,那些“花里胡哨”的语法特性。+ e! M+ P, |3 A( \
6 f2 O! @! B- m$ v3 m* i$ \
6 Y! S0 v" w; M# n/ Z+ i. R
% q6 A. [* C- \8 a8 I; a5 {
n2 F$ Q4 u* J+ n
ri5r1jrazlj6401496348.jpg
% f7 }6 _3 W) D1 E6 a0 D! `, r
3 x' E7 S3 Q" n6 |3 k" \ F: C2 a 嵌入式 C 语言的自我修养8 x2 H/ F, O" O
5 s$ e, S0 U" U# k$ _0 w
0 ^3 c& ]; Z8 b$ @# T: K$ J
9 I x6 `4 Q6 @
g2yxrn2kgs56401496448.jpg
% N0 ]' Z7 |7 ]: _
' H. y' c0 b) J0 Q 嵌入式 C 语言知识点,动态变长数组
9 ?. p2 h4 z Y 4 J6 o* ~- d- T4 C& h6 g
+ L& M' F `' m6 M5 T0 W3 z
; `* D% u7 N r9 X& G 我是老温,一名热爱学习的嵌入式工程师
- ?) c! H4 O; ?, Y l关注我,一起变得更加优秀! |
|