我是老温,一名热爱学习的嵌入式工程师' C5 T5 T% N; V
关注我,一起变得更加优秀!
8 P/ h; |) p6 A
" l# K8 N/ I0 N; ^* f2 V
3uljzcy1jra64014415144.jpg
* {- p% K- R0 v) i- m语法一:
- x F4 K8 c1 A" z& G1 j5 H
6 }; ~9 M9 k" q* [. X b4 H2 ?. u' z一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
. g0 a2 s6 H' p/ U3 m使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>; E$ z/ k l* p2 J
printf(" >>> %d \r! s/ I2 E4 t1 L
", array[3:>); printf(" >>> %d \r4 _. Z# n$ {9 `. Z) L
", array4]);6 o9 W. z$ r- n8 @7 P$ g5 b
return 0;%>$ E# f, g9 s/ E( }6 ?6 |! b0 U# v
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。% m# Q9 l0 o6 j0 e7 \4 @
( e8 U0 V; h1 X' l& b
nguwcdjhs4f64014415244.jpg
3 H" i) e" s W9 u( ]8 Y& n2 G6 x d L a( E. c
之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,1 [& n& V0 e6 F6 G# e5 J% @: V5 j
" n; h4 k; {. `
所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。
5 i1 g0 E7 y4 B4 S2 B, l8 I7 }7 \5 \- `2 ]# N/ W
语法二:
/ r# ]. n, \$ D& b1 d4 s1 J/ C
7 I" \8 r1 [' j( V! \" ?再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"3 l" U% @1 O0 j% b) l! _6 @& ^
int main(void){ int array[5] = {11, 22, 33, 44, 55};. N5 I. P2 D7 h, m7 [$ L
//常用的 C 语言数组成员访问方法 printf(">>> %d \r
' I! F- V: J( k4 s", array[3]);
; J' S5 c: I: G //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r+ M; P, R, K% O" g7 C
", 2[array:>);}* a4 T$ D$ W/ I- S& J. ^" E% Q
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。7 G7 ~. k# M' D8 M
7 R( |, q0 F1 e5 K! z. {6 } {
qmcvgwfrafy64014415344.jpg
- M+ @( N8 `" b9 _( z( W# T% X/ s以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~
5 K! c4 n/ ^( ^) w
rjkjiglgz2uExpression_14@2x14415444.png
) M/ s8 D' S7 h# t* c
& L1 T0 W) z) M8 f-END-/ E3 x* z. G: G% l
往期推荐:点击图片即可跳转阅读
6 y* M5 A7 G0 ~3 |( ?; S1 v8 E1 V
; O- z" ?; @/ v( X - }: p; `$ w2 ?6 O7 q
9 ^! w' ~3 y( C# y8 P
7 X+ r& }+ k. b# \- w& U
kicakdmo4vp64014415544.jpg
/ ^& j$ d" f0 U- }
( x( ]' H, Z0 t- b5 t1 t, \ 嵌入式 C 语言,那些“花里胡哨”的语法特性。$ c" L5 k( S/ ? v0 J, {( S8 C
+ w$ |" o: Q( R) X
# o; \" o* d" I3 _ ) ]; e; ~4 {0 s" M5 _6 ^8 Q
$ `; r) r. z0 E: s, r
wmpjuh02vym64014415644.jpg
3 n; i; m8 s* @; M, q/ { " G4 T& x0 T- U$ N
嵌入式 C 语言的自我修养3 G3 t. L; z% O" F
4 _; @2 }% d$ @, v( p. H. k
) W& p+ r# Q" |& k; b1 d
" D6 c+ r! q; k* Y
rdysusj3kuf64014415744.jpg
$ d" B. Q/ {4 m( K3 d # w7 M& J5 ^! o8 ~2 h i9 }, w1 Z
嵌入式 C 语言知识点,动态变长数组( N Z) O2 q# ~# A! i
2 Z, K. D7 n# }
1 e( E. I3 ?: @1 J 7 }6 B: ~! I5 s3 y, q! x* h
我是老温,一名热爱学习的嵌入式工程师
; f& B( \+ ]- }+ s+ p关注我,一起变得更加优秀! |