c语言常用易忘知识点
-
uint8是8位无符号整型,uint16是16位无符号整型。 整型有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。在一些不可能取值为负数的时候,可以定义为unsigned,在一些底层的嵌入式编程的数据一般都是无符号
1、u8:u8表示无符号char字符类型 - 2、u16:u16表示无符号short短整数类型。 - 3、u32:u32表示无符号int基本整数类型。
const妙用
-
C语言中const关键字是constant的缩写,通常翻译为常量、常数等,有些朋友一看到const关键字马上就想到了常量。事实上在C语言中const功能很强大,它可以修饰变量、数组、指针、函数参数等。本文将针对上述几种修饰功能详细做一个总结。 1、 修饰变量: C语言中采用const修饰变量,功能是对变量声明为只读特性,并保护变量值以防被修改。举例说明如下: const int i = 5; 上面这个例子表明,变量i具有只读特性,不能够被更改;若想对i重新赋值,如i = 10;则是错误的。 值得注意的是,定义变量的同时,必须初始化。定义形式也可以写成int const i=5,同样正确。 此外,const修饰变量还起到了节约空间的目的,通常编译器并不给普通const只读变量分配空间,而是将它们保存到符号表中,无需读写内存操作,程序执行效率也会提高。 2、 修饰数组 C语言中const还可以修饰数组,举例如下:
const int array[5] = { 1,2,3,4,5}; array[0] = array[0]+1; //错误
-
-数组元素与变量类似,具有只读属性,不能被更改;一旦更改,如程序将会报错。 3、 修饰指针 C语言中const修饰指针要特别注意,共有两种形式,一种是用来限定指向空间的值不能修改;另一种是限定指针不可更改。举例说明如下:
int i = 5; int j = 6; int k = 7; const int * p1 = &i; //定义1 int * const p2 =&j; //定义2 上面定义了两个指针p1和p2。
-
在定义1中const限定的是p1,即其指向空间的值不可改变,若改变其指向空间的值如p1=20,则程序会报错;但p1的值是可以改变的,对p1重新赋值如p1=&k是没有任何问题的。 在定义2中const限定的是指针p2,若改变p2的值如p2=&k,程序将会报错;但p2,即其所指向空间的值可以改变,如p2=80是没有问题的,程序正常执行。 4、 修饰函数参数 const关键字修饰函数参数,对参数起限定作用,防止其在函数内部被修改。所限定的函数参数可以是普通变量,也可以是指针变量。举例如下:
void fun1(const int i) { 其它语句 …… i++; //对i的值进行了修改,程序报错 其它语句 } void fun2(const int *p) { 其它语句 …… (*p)++; //对p指向空间的值进行了修改,程序报错 其它语句 }
C语言中结构体的成员变量怎么引用
-
如果结构体中的成员均为一般变量(包括结构体变量),则使用“.”,如果成员变量为指针(不管指向什么,包括结构体),则使用“->” 如果定义了结构体数组指针,则可分别使用“.”和“->”,区别在于指针带下标时,以是数组形式访问,此时用“.”,如果不带下标(或使用偏移),此时用“->”。
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
阿里云搭建MQTT服务器