的常指针a是一个常数a是一个常数
i
tco
staco
sta是一个指向整型常数的常指针CcharstrcpycharstrDestco
stcharstrSrc参数在函数内部不会被修改co
sti
tstrcmpcharsourcechardest函数的返回值不能被修改co
sti
tastrcmpxxyyifstrcmpxxyy034、说明关键字volatile有什么含意,并给出例子。volatile表示被修饰的符号是易变的。告诉编译器不要随便优化我的代码!!一个硬件寄存器中断中用到的变量线程之间共享变量volatilei
ta10whilea0x010
fdefi
eP_UART_STATUSco
stvolatileu
sig
edi
t0x88000000volatile表示硬件会修改这个寄存器的内容co
st表示该寄存器只读,写无意义35、pri
tf可以接受多个参数,为什么,请写出pri
tf的原型。i
tpri
tfco
stcharfmt36、什么是堆栈,简述为什么需要堆栈?堆栈是计算机中最常用的一种数据结构,保存数据的一块连续内存;比如函数的调用是用堆栈实现的。37、请列举常用的串行通信方式(两种以上),并简述串行通信和并行通信不同之处、优缺点。异步通信和同步通信;并行速度快,串行口线间干扰小38、列举一下你熟悉7层OSI协议中的几层。说说你最熟悉的一层协议的功能。应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。39、路由协议:网关网关协议,外部网关协议,内部网关协议(RIP1、RIPIGRP、EIGRP、ISIS和OSPF)40、位转换位87654321v1
数v8v7v6v5v4v3v2转换后:位87654321
数v1v2v3v4v5
v6v7v8
u
sig
edcharbit_reverseu
sig
edcharcu
sig
edcharbuf0i
tbit8whilebitbitbufc1bitc1retur
buf41、字符串倒序1、i
verted_ordercharp
fchars1s2tems1ps2s1strle
p1whiles1s2tems1s1s2s2tems1s22、i
verted_ordercharpi
tle
strle
srcchardescharmallocle
1charssrcle
1charddeswhilele
0dsd0freedes42、引用和指针的区别1指针是一个实体,而引用仅是个别名;2引用使用时无需解引用(),指针需要解引用;3引用只能在定义时被初始化一次,之后不可变;指针可变;4引用没有co
st,指针有co
st,co
st的指针不可变;5引用不能为空,指针可以为空;6“sizeof引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身(所指向的变量或对象的地址)的大小;7指针和引用的自增()运算意义不一样;43、队列和栈的区别队列是先进先出,只能在一端插入另一端删除,可以从头或尾进行遍历(但不能同时遍r