快捷搜索:  汽车  科技

c语言基础知识包含,C相关基础知识记录

c语言基础知识包含,C相关基础知识记录结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据。像 int、float、char 等是由C语言本身提供的数据类型,称之为基本数据类型;而结构体可以包含多个基本类型的数据,也可以包含其他的结构体,称为复杂数据类型struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在学习小组 float score; //成绩 }; 注意大括号后面的分号;不能少,这是一条完整的语句。进制的打印:C语言中的二进制数、八进制数和十六进制数3.结构体相关知识①C语言中,结构体类型属于一种构造类型,结构体是一种集合,它里面包含了多个变量 或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)

1.位操作

  • 取某一bit位的值:可以用&(按位与)操作

举例 取出x的第4位: char x = 10;//0000 1010 0000 1010 & 0000 1000 ------------- = 0000 1000 上面&(按位与)操作数0000 1000 相当于(1<<3)(1左移动三位)

  • 置某一bit位为0:可以用&(按位与)操作
  • 置某一bit位为1:可以用 | (按位或)操作

2.有符号数和无符号数

计算机中数都是补码表示

举例 : char x = 10;//0000 1010 int result3 = x | (~(1<<3)); unsigned char result4 = x | (~((unsigned char)1<<3)); -------------------------------------------------------------------------------------------------------- 举例的第二行代码(int result3 = x | (~(1<<3)); )的计算示例: 0000 1010 数值:10 | 1111 0111 ~(1<<3) ------------- = 1111 1111 有符号数result3的值是: -1 有符号值 1111 1111 是补码 ------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------- 举例的第三行代码(unsigned char result4 = x | (~((unsigned char)1<<3));)的计算示例: 0000 1010 数值:10 | 1111 0111 ~(1<<3)和写成(~((unsigned char)1<<3))一样 ------------- = 1111 1111 无符号数result3的值是: 255 有符号值 1111 1111 是补真值 -------------------------------------------------------------------------------------------------------

相关参考:为什么计算机中负数用补码表示_豆小匠Coding的博客-CSDN博客_负数为什么用补码表示

进制的打印:C语言中的二进制数、八进制数和十六进制数

3.结构体相关知识

①C语言中,结构体类型属于一种构造类型,结构体是一种集合,它里面包含了多个变量 或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)

struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在学习小组 float score; //成绩 };

注意大括号后面的分号;不能少,这是一条完整的语句。

结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据。
像 int、float、char 等是由C语言本身提供的数据类型,称之为基本数据类型;而结构体可以包含多个基本类型的数据,也可以包含其他的结构体,称为复杂数据类型

结构体的其他基本知识可以参考如下链接:

C语言结构体详解,C语言struct用法详解

②结构体中非常重要的部分是内存对齐:

参考以下链接,写的非常详细

C语言中的结构体(struct)___Sunshine_的博客-CSDN博客_c语言结构体

③结构体之间的强制转换(将一种类型的结构体转换另外一种类型的结构体),本质是将被转换的结构体的内容(结构体所在地址的内存中的值)按转换后的结构体来解释。

结构体强制类型转换_踏实IT精英的博客-CSDN博客_结构体类型转换

c语言基础知识包含,C相关基础知识记录(1)

c基础知识

4.函数指针

函数指针是指向函数的指针变量。声明形式:返回值类型 ( * 指针变量名) ([形参列表]);

参考:C/C 函数指针_阿飞__的博客-CSDN博客_c 函数指针变量

猜您喜欢: