|
我是老温,一名热爱学习的嵌入式工程师 d) H! c4 B/ J, ]8 `
关注我,一起变得更加优秀!$ f2 u6 _0 \* {6 Q+ ?& Z
) s; f/ L3 ]1 m# b
d4t5w5eyyqb64016680131.jpg
, h7 H7 H7 Q9 S' o4 s/ B! E$ s语法一:8 u6 d& B: q5 S, n
+ f7 C3 Y* i3 i' c0 q9 z8 [6 V- T/ S/ g
一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
! _% @: V5 v" w) Z2 v使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;
% G9 `) {- u. L9 x" k$ B( p printf(" >>> %d \r) u: k% f! a2 ?) z: J
", array[3:>); printf(" >>> %d \r
! y9 W+ U* @- p7 r", array4]);
5 @3 W3 w/ t7 H) E6 { return 0;%>3 A) Y: R: A* E8 {1 B
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
- a, z5 s( T! s: s/ o
+ a- _8 Q- {" A& I
ypl1wfvrxh264016680231.jpg
2 Q; a `% W; }7 N9 i8 h; X. j2 u
之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,' T( H* r( M* ]: J
% @0 f- y8 Y5 G+ N$ I所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。- ]; j, `/ b) d4 Z8 e5 f4 N1 F9 t" D
7 _4 H/ d2 G* c* s$ g0 [5 Q
语法二:# Q$ k, i0 \! F$ H3 \% R4 x/ Y* z* W
( ?, S+ J) z/ I
再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"' E6 z) D* u/ |; I- E8 s
int main(void){ int array[5] = {11, 22, 33, 44, 55};
! j% J* `8 C3 m% u+ ~ //常用的 C 语言数组成员访问方法 printf(">>> %d \r
% E. S8 j+ z! a' t, a+ D", array[3]);
, f! O' i4 j! Z* U8 y( S //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r
- m' P& f1 {3 z5 H# L! H6 A", 2[array:>);}
: `0 w9 f/ l: h# ]" A: v上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
5 g7 `3 ^1 p1 q4 G- }' l' ~! ]* X2 r+ d# I
2ng4rfqzgkg64016680331.jpg
! W' o; I) a" a1 P% e
以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
. r6 T& d9 F0 V' E. G/ ^ J
1krobgzphmbExpression_14@2x16680431.png
& L# ?9 F$ ^ `; q# q, U
2 l# R4 N/ F8 z5 N% \* a& ~
-END-
; m" A5 ^% ~ l7 C" M7 ^! O往期推荐:点击图片即可跳转阅读
1 S' E0 s+ [. Z! v3 p8 Y1 w9 U2 t8 b# {
; z8 l( s. `- ]6 l Y+ u3 L 8 g$ R3 E7 Y1 \# t/ F" E1 O
+ T% \4 t8 P; ~* ?3 I9 ]
; r# \" L5 X9 }- t/ L
msykrlugqxf64016680531.jpg
8 u; g" O+ P$ t& _
6 O) n1 h L1 m: M
嵌入式 C 语言,那些“花里胡哨”的语法特性。
* q" p; ]9 P/ P
M' S7 G3 |% U- u
* n7 ~/ P# S9 _, U6 U$ d 9 e4 [3 W& g! f( _# b
* y* N, A* h. F1 E& ^
pl2hl1cppy164016680631.jpg
# p3 U5 s9 P; O; a) j! p' R
/ @5 Z, F2 y; u6 D' M3 j 嵌入式 C 语言的自我修养
* o1 o+ Q# x8 B' f 1 V' x9 t7 W/ v8 K, ]4 C) h
" n6 h/ f4 J1 V! T $ x( b# g. r- p* _ L7 L9 a
inlyk5py3xk64016680731.jpg
9 T4 z2 p& [% {' j6 t8 ?6 C
8 e! U; Z' w" H3 j4 t* e) j, R 嵌入式 C 语言知识点,动态变长数组+ ]+ w# b9 H, P/ K( \
* E5 f3 w) \" j. g2 t( I( ~ ' c y" W) ^: V7 O$ l, D
; ?6 ?# G. T& b& G; w" b
我是老温,一名热爱学习的嵌入式工程师
$ }9 J- N, n6 R9 z关注我,一起变得更加优秀! |
|