c语言学习记录
qq_33553024
这个作者很懒,什么都没留下…
展开
-
typedef enum和enum的用法
在了解enum和typedef enum的区别之前先应该明白typedef的用法和意义。 C语言里typedef的解释是用来声明新的类型名来代替已有的类姓名,例如: typedef int CHANGE; 指定了用CHANGE代表int类型,CHANGE代表int,那么: int a,b;和CHANGE a,b;是等价的、一样的。 方便了个人习惯,熟悉的人用C原创 2017-12-23 09:50:26 · 1117 阅读 · 0 评论 -
二进制、位运算、位移运算
思考题 1、请看下面的代码段,回答a,b,c,d,e结果是多少? public static void main(String []args){ int a=1>>2; int b=-1>>2; int c=1 int d=-1 int e=3>>>2; //a,b,c,d,e结果是多少 System.out.println("a="+a);/转载 2018-03-27 14:30:59 · 1379 阅读 · 1 评论 -
结构体字节对齐
在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因: 1)某些平台只能在特定的地址处访问特定类型的数据;转载 2018-01-10 12:40:37 · 134 阅读 · 0 评论 -
extern的总结
extern可以修饰变量也可以修饰函数 修饰变量和函数的时候,只是修饰其声明而不修饰定义,告诉编译器,此变量或者函数的定义在别的文件之中,生成的符号是global的,此相对于static关键字。 1.引言 作为一种欲与C兼容的语言, C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量 和函数。但转载 2018-01-05 22:46:25 · 295 阅读 · 0 评论 -
关于typedef的用法总结
基本定义: typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等) 用途一:与#define的区别 typedef 行为有点像 #define 宏,用其实际类型替代同义字。不同点是 typedef 在编译时被解释,因此让编译器来应付超越 预处理器能力的文本替换。转载 2017-12-29 11:18:59 · 159 阅读 · 0 评论 -
字符数组初始化与赋值
char a[10]; 怎么给这个数组赋值呢? 1、定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的! 2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'}; 3、利用strcpy char a[10]; strcpy(a, "he转载 2017-12-29 10:58:35 · 1485 阅读 · 0 评论 -
关于C语言指针的那点事
#include #include //当我们想要一个数组的所有元素个数时就这样做。 /* int main() { int a[56]; int b; b = sizeof(a)/sizeof(a[0]); printf("b=%d.\n",b); } */ /* //#define dpChar char * 两者有什么区别 //typedef c原创 2017-12-26 22:10:12 · 253 阅读 · 0 评论 -
C语言中函数传递(实参 形参)
形参:在被调函数形参表中的变量名、数组名,该过程在被调用前,没有为它们分配内存,其作用是说明自变量的类型和形态以及在过程中的作用。 形参可以是 合法变量名,数组名 实参:从主调过程传递给被调用过程的参数值。实参可以是变量名、数组名、常数或表达式。在过程调用 传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但它们的数据类型、参数个数及位置必须一一对应转载 2017-12-26 11:00:03 · 3182 阅读 · 0 评论 -
c语言中的0UL或1UL是什么意思
0UL 表示 无符号长整型 0 1UL 表示 无符号长整型 1 如果不写UL后缀,系统默认为:int, 即,有符号整数。1.数值常数有:整型常数、浮点常数;2.只有数值常数才有后缀说明;3.数值常数后缀不区分字母大小写。(1)整型常数的表示形式有:十进制形式、以0开头的八进制形式、以0x开头的十六进制形式,无二进制形式。整型常数默认是signed int的。对整型常数进行类型转换的后缀只有:u或原创 2017-12-24 21:38:11 · 1332 阅读 · 0 评论 -
c语言中逻辑运算符及其优先次序
&& 逻辑与 a&&b 如果a和b都为真,则结果为真,否者为假。 || 逻辑或 a||b 如果a和b有一个以上为真,则结果为真,否则都为假时。 ! 逻辑非 !a 如果a为假,则为真,如果a为真,则为假。 “&&”和“||”是双目(元)运算符,它要求有两个运算对象(操作数),如(a>b)&&(x>y),(a>b)|| (x>y)。 "!"是一目(元)运算符,只要求有一个运原创 2017-12-23 13:53:12 · 5923 阅读 · 0 评论 -
static用法
static用法小结 static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准). (1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 下面就这三种使用方式及注意事项分别说明 一、局部静态变量 在C/C++中, 局部变量按照存储原创 2017-12-23 13:49:31 · 184 阅读 · 0 评论 -
C语言中函数传递(实参 形参)
形参:在被调函数形参表中的变量名、数组名,该过程在被调用前,没有为它们分配内存,其作用是说明自变量的类型和形态以及在过程中的作用。 形参可以是 合法变量名,数组名 实参:从主调过程传递给被调用过程的参数值。实参可以是变量名、数组名、常数或表达式。在过程调用 传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但它们的数据类型、参数个数及位置必须一一对应原创 2018-06-05 16:12:45 · 8273 阅读 · 2 评论