我是老温,一名热爱学习的嵌入式工程师
) v' k0 |0 ~& J/ e4 A! h关注我,一起变得更加优秀!& i: i, E9 F/ p1 U& `
& R& _4 O9 \. F2 W
xeejwzs2pzk64014192226.jpg
/ V% r# v7 |, Q& i8 q
语法一:' F3 ]+ j' G+ v* k- q( P M) i
; I0 ^5 d0 @ q. E; {( E一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
; A4 x" T$ E5 r3 i使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;
1 A g7 T: R) o2 Y" v- F printf(" >>> %d \r
) E6 I' S$ R7 B: _! X", array[3:>); printf(" >>> %d \r
6 ~3 w" g$ s9 `& q. N; C L", array4]);0 v7 [6 X; Y& E* } L
return 0;%>
# U. @$ _% H$ F# E1 X9 h# u上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
# x5 U/ b3 u. o8 Z2 {: }0 H. ~5 m, v6 p3 Z5 o
mv0krqwnkjk64014192326.jpg
8 M! z z* o0 m6 I! q% Q- W. H; P/ c4 d. `5 h
之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,8 ~8 |2 T7 S2 D! N# S
, \; c/ K/ c$ e* f( z! ^所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。* V a3 D0 a4 [( T3 z- L
! v6 V. w. A" H- y( {0 A. \" r
语法二:8 v% W- N9 x2 z
6 B( ^8 K/ z5 P/ p Z
再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"" \3 c; W6 Q( J G
int main(void){ int array[5] = {11, 22, 33, 44, 55};6 @! {. p* K+ l8 G* i
//常用的 C 语言数组成员访问方法 printf(">>> %d \r
5 q, P2 I, G: i2 h, W7 [( ?0 c5 t", array[3]);
9 U' V: F1 V* i0 ?. g# C //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r2 K, x& ?2 f9 P$ ^/ |7 n
", 2[array:>);}6 t: n: y' ]( V6 o e( k
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。3 [; m" [, r6 K$ p2 d1 U8 `1 h; l
# K0 b. d8 {2 c( a0 U: {. \5 K
4rzwrhkclzt64014192426.jpg
' g+ G2 _8 i$ q4 R: B+ C
以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
7 ]" ?" C# x }" g2 R
exx0s5ryogqExpression_14@2x14192526.png
/ j1 V' y8 Y9 g5 K! _9 G
1 c; t0 M9 E8 E; W1 p8 G7 K-END-
8 R1 z+ t) K( {, |% l5 k/ I; V往期推荐:点击图片即可跳转阅读6 n H' m+ P. O4 E+ F
, S) ?5 z$ s8 S: i9 n
& U# D% b- M O1 r' m9 `4 l% m( p) s3 q
5 \7 _ O, k& C1 d! Y W' G9 R
, f* W/ y& V) L( q! @
nukhyu2ykje64014192626.jpg
( j( p8 l1 ^0 U1 x0 H M9 s7 X / f! d7 e; G5 m6 b2 L$ C' w
嵌入式 C 语言,那些“花里胡哨”的语法特性。1 h8 k; n0 f/ b c
2 j' I. B% j; x# I0 E
0 h( y% j- s! q : a u/ N7 |9 _+ s4 `! ` E& ~
% ` z9 d; }: ?; M
0gln0o1ufot64014192726.jpg
; R: p D: W+ y0 V
( Q3 g2 x1 w9 L7 \5 Q
嵌入式 C 语言的自我修养
* e& T, e v7 m( q ? # C' [1 k0 j! m- _- A2 D8 E S5 E
" U" ?' ` @7 H& S0 ]
0 F4 t m \. d
3l5ebd5cpww64014192826.jpg
0 w/ s; J' L8 T H [2 t) n: r6 \* y
) r# k; w' Q$ j1 u- K+ t 嵌入式 C 语言知识点,动态变长数组8 M% I7 A" I4 t
7 x! C. y- Q% a0 p. @- _8 w ! ]8 s+ y% ^0 g, o" k
) d& k5 x0 X8 ]: u9 o+ d5 q; b9 S0 ]
我是老温,一名热爱学习的嵌入式工程师+ x9 {' k E* H# {7 H
关注我,一起变得更加优秀! |