C复习
cheny 11
程序小白努力中
展开
-
函数重载+引用+内联函数
函数重载缺省参数概念在定义或者声明一个函数的时候,给它的形参赋上一个默认值,调用这个函数的时候,如果没有把实参传入,函数就会使用我们指定的缺省参数,如果传入实参,就会使用传入的参数。分类全缺省参数在这个函数中,给所有的形参都指定了默认值。半缺省参数在这个函数中,只给一部分的形参指定了默认值。注意: 缺省参数的设置必须是从右向左的特性缺省参数的设置必须是从右向左的不能在函数的声明和定义同时设置缺省参数缺省参数的给定值必须是常量或者是全局变量C语言中不支持缺省参数函数重载原创 2020-12-25 19:12:27 · 166 阅读 · 0 评论 -
位段+大小端
位段什么是位段位段是C语言特有的数据结构,它允许我们定义一个由位组成的段,并可以给它赋一个名字struct A{ int _a:2; int _b:5; int _c:10; int _d:30;};A就是一个位段类型。位段和结构体的声明是类似的,但是有两点不用:位段的成员必须是int、unsigned int、signed int或char类型位段的成员名后面有一个冒号和数字位段的内存分配位段的成员可以是int、unsigned int、signed int 或cha原创 2020-12-15 15:11:11 · 384 阅读 · 0 评论 -
结构体
结构体是一组数据的联合。 当我们需要描述一个学生的时候,我们不能用一个int类型或者是char类型来描述一个学生,这时候就需要用结构体来描述。结构体的使用//定义一个学生类型的结构体struct Student{ int id; char name[20]; char sex[3];}s1, *s2;//可以直接在结构体类型后面定义结构体变量和结构体指针,s1就是变量,s2是指针int main(){ //定义一个学生 struct Student s; s.id = 100;原创 2020-12-14 22:53:39 · 627 阅读 · 0 评论 -
指针练习
int main(){ int a[5] = { 1, 2, 3, 4, 5 }; int *ptr = (int *)(&a + 1); printf( "%d,%d", *(a + 1), *(ptr - 1)); return 0;}//程序的结果是什么?//2,5因为ptr是int*类型的,所以一次加一加4个字节,所以ptr的位置在5后面的位置int main(){ int a[5][5]; int(*p)[4]; p = a; printf( "%p,%d原创 2020-12-09 16:11:29 · 139 阅读 · 0 评论 -
sizeof和strlen的区别
int a[] = {1,2,3,4};printf("%d\n",sizeof(a));printf("%d\n",sizeof(a+1));printf("%d\n",sizeof(&a));printf("%d\n",sizeof(*&a));char arr[] = {'a','b','c','d','e','f'};printf("%d\n", sizeof(arr));printf("%d\n", sizeof(arr+0));printf("%d\n", st原创 2020-12-08 10:19:03 · 261 阅读 · 3 评论 -
关于指针
什么是指针指针是C语言中的一种变量类型,类型是T* ,指针变量里面存放的是T类型数据的地址,指针就是地址,地址就是指针。int a = 10; int *pa = &a;指针的分类一般情况下,指针可分为一级指针和多级指针,多级指针中,二级指针的应用最为广泛。二级指针存储的是一级指针的地址指针的基本操作*的学名为解引用操作符,指针利用符号可改变指向地址的内容int a = 10; int *pa = &a; *pa = 100;->->操作符学名叫成员原创 2020-11-26 19:16:41 · 294 阅读 · 0 评论