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指向空间的值进行了修改,程序报错

其它语句

}
  • typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。
  • 具体区别在于:
  • 若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n;
    若用typedef,可以这样写:typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;其实就相当于 NODE 是node 的别名。区别就在于使用时,是否可以省去struct这个关键字(原文链接:https://blog.csdn.net/qq_41848006/article/details/81321883),里面关于结构体定义更详细!

C语言中结构体的成员变量怎么引用

  • 如果结构体中的成员均为一般变量(包括结构体变量),则使用“.”,如果成员变量为指针(不管指向什么,包括结构体),则使用“->”
  • 如果定义了结构体数组指针,则可分别使用“.”和“->”,区别在于指针带下标时,以是数组形式访问,此时用“.”,如果不带下标(或使用偏移),此时用“->”。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常见的C语言选择题知识点汇总包括: 1. 数据类型:了解C语言的基本数据类型(如int、float、char等),以及它们的取值范围和存储空间大小。 2. 运算符和表达式:理解C语言中的各种运算符(如算术运算符、关系运算符、逻辑运算符等)以及它们的优先级和结合性。 3. 控制语句:掌握C语言中的条件语句(如if-else语句、switch语句)、循环语句(如for循环、while循环)以及跳转语句(如break语句、continue语句)的使用。 4. 数组:了解C语言中数组的定义和使用,包括数组的初始化、访问数组元素、多维数组等。 5. 函数:掌握C语言中函数的定义和调用,了解函数参数传递的方式(如值传递和引用传递)以及函数返回值的使用。 6. 指针:了解指针的概念和使用,包括指针变量的定义、指针运算、指针与数组的关系等。 7. 结构体和联合体:了解结构体和联合体的定义和使用,包括结构体成员的访问、结构体数组等。 8. 文件操作:了解C语言中文件的打开、读写和关闭操作,包括使用标准库函数进行文件操作。 9. 内存管理:了解动态内存分配和释放的概念和方法,包括使用malloc()、calloc()、realloc()和free()等函数。 10. 预处理指令:了解C语言中的预处理指令,如宏定义、条件编译等。 以上是常见的C语言选择题知识点汇总,希望对你有帮助!如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值