我是老温,一名热爱学习的嵌入式工程师3 l4 ^) K9 |8 t1 r& w
关注我,一起变得更加优秀!
+ [0 }* H' X4 P/ S+ [; k
8 S; X. ^, O2 R$ J6 ?8 w2 F$ i7 F
40evx142jzm64012796443.jpg
9 k; [5 Y$ f) b7 n1 Z4 z; f语法一:
2 A8 i% A6 P* P8 c- i# D4 f
J4 e3 J3 I, J$ j, I! d一起来看看以下这段代码,在这段代码里面,我们 使用 和 %> 来替代 { 和 },使用 和 :> 来替代 [ 和 ]/*使用 来替代 { 和 },例如:函数定义:int main(void)
% k- }0 e9 I d3 l/ ?使用 来替代 [ 和 ],例如:数组定义:int array*/int main(void) int array = 11, 22, 33, 44, 55%>;7 c& ]3 H- Z. Y6 |
printf(" >>> %d \r
6 H W5 S& O) u", array[3:>); printf(" >>> %d \r* H6 P& a0 e1 ]9 r
", array4]);+ S( ^, l+ a7 }+ b) n' F% x+ {
return 0;%>
6 |2 C2 @( p/ e3 {上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。
% Z$ P7 b( V# [: K7 |- q) `8 O$ {- `1 V2 K7 w" @$ J
lh4ltzpkoky64012796543.jpg
% ^1 K7 c, ~2 U2 P) h
! Z" T, a# a( l
之所以能编译成功,是因为在早期的 IBM 键盘里,是没有中括号 [ ] 和 大括号 { } 的,但因为 IBM 公司在当时的计算机产业里面,有着举足轻重的地位,
+ g. d' y+ d/ x' M8 y
* @+ y: q: h2 X! \8 ]. y. ?3 p, m所以,C 语言为了兼容早期的 IBM 键盘,可以使用其他的的组合符号来替代中括号和大括号,并且把这种替代方式保留到现在。3 {- i& L' i; ]; a% Q: K. Q5 S) c
& F+ Z8 y# t3 l4 G语法二:
! `' t3 [- D$ z+ r( r3 s, ?& i$ b3 P" ]: ~, }4 I" }
再一起看看以下代码,介绍一种不常用的 C 语言数组成员访问方法,把成员索引号放在数组名前面,并且把数组名放在中括号里面(还用了特殊符号代替中括号),跟常用的 array[3] 访问方式,有很大的区别。#include "stdio.h"
9 Z: i/ u5 x. H8 t5 ^int main(void){ int array[5] = {11, 22, 33, 44, 55};' O4 S, p6 c7 j4 W; J. M+ S
//常用的 C 语言数组成员访问方法 printf(">>> %d \r
; v: V9 h; u2 H9 F# F# P", array[3]);
" n$ \0 r" t$ H8 C0 b" | //不经常用到的 C 语言数组成员访问方法 printf(">>> %d \r
/ H; {( E' M: \! a", 2[array:>);}* `7 j- h- K" e/ z l6 D2 p7 ~
上面的代码编译可以编译成功,并且能够正确运行输出结果,如下图所示。) z) Y( S. K$ s& X+ [
, E0 S0 t1 H( |# }1 O# g
lxxikswlv1o64012796643.jpg
' e+ W; e! c$ b* G以上两种不常见的 C 语言语法,建议别在工程项目里面使用,一旦使用,大概率会被接手代码的人直接问候,不信的话,试试?~3 W+ b3 e8 A5 t
hp1efk4qrdiExpression_14@2x12796743.png
" A. I% O% V7 T! K" T; [
: [5 |6 i! L0 m0 ^1 Z-END-
% t* {" Z5 M- C8 \$ W2 K往期推荐:点击图片即可跳转阅读9 Q0 j! c& f. M' a: C$ G
' r5 g8 h4 Y9 f
( r- E! R" s! R, E8 \, x
7 X D: x; F" J) |
2 s' ?( q3 `1 G
m2kitmmv4dc64012796843.jpg
Y) T+ a; o, p- [; `4 m% z, F . H7 G1 _3 I+ Y! B/ F
嵌入式 C 语言,那些“花里胡哨”的语法特性。3 S( p7 c* c0 n" F% e0 ]6 v: }
3 C5 l) N2 `0 S" w. r# p+ q
9 [. ~$ v/ N. G g" K' W1 g
( W* E/ F+ o& m9 Y; v" ?6 ~! K5 m
* ^( r5 z* a' c" p3 F" K+ z( s# C
2pc45q43gzj64012796943.jpg
5 z- ?+ T; S1 Z. n1 Y% f' u 6 b0 z. x+ ]1 Z
嵌入式 C 语言的自我修养$ S/ p# y: A, a9 v8 V+ f$ d
# u' u4 i% g/ _8 C/ p6 \
: Z U9 p4 J7 P. I, g
* I2 \+ K- m7 F3 u& _& S E
mj1mkisu5li64012797043.jpg
% H! I) C: l) P2 P4 Y l2 A# s% H& L
1 J. W: Q7 i) }% v9 H& [; q$ o 嵌入式 C 语言知识点,动态变长数组
0 {! s- p9 t$ m% Y4 j3 ?) L: |+ {
* ]9 w% G4 n4 p$ E# R
: e! P! X t" Z% B$ ^ 2 {0 H6 y$ D5 Z" R" [+ H
我是老温,一名热爱学习的嵌入式工程师
! E% N0 w7 m% E! i7 W; s6 ?关注我,一起变得更加优秀! |