- 博客(6)
- 收藏
- 关注
原创 可变参数函数
C 语言允许定义参数数量可变的函数,这称为可变参数函数。这种函数需要固定数量的强制参数,后面是数量可变的可选参数。这种函数必须至少有一个强制参数。可选参数的类型可以变化。可选参数的数量由强制参数的值决定,或由用来定义可选参数列表的特殊值决定。C 语言中最常用的可变参数函数例子是 printf()和 scanf()。这两个函数都有一个强制参数,即格式化字符串。格式化字符串中的转换修饰符决定了可选参数的数量和类型。对于每一个强制参数来说,函数头部都会显示一个适当的参数,像普通函数声明一样。参数列表的格式是
2021-05-05 22:24:12
85
原创 连接属性和作用域
变量的连接性描述了名称如何在不同单元间的共享。连接性为外部的名称可在文件中共享,连接性为内部的名称只能由一个文件中的函数共享。<全局变量与外部变量的连接性>作用域描述了名称在文件(翻译单元)的多大范围内可见。<局部变量与全局变量的作用域>补充:作用域,有文件作用域 、全局作用域、局部作用域,多个源码文件,并且交叉引用全局变量或者函数就得考虑连接属性了,或者说连接属性只有在文件作用域的时候才有可能考虑。...
2021-05-04 02:24:28
254
原创 局部变量和全局变量
局部变量在程序中,只在特定的过程或函数中可以访问的变量,是相对与全局变量而言的。全局变量在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。区别作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区生命期不
2021-05-04 02:18:20
165
原创 数组指针和指针数组
数组指针定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。指针数定义 int *p[n];[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。这里执行p+1时,则
2021-04-29 21:18:33
69
原创 void指针和null指针
void指针:void *可以用其指代任何类型的指针。但不能用void指针直接进行操作;只能转换成对应类型指针后,才能操作。void test(void* a) { printf("void* --> %d\n", * (int*)a);#转换void指针类型}null指针;int *p=null在C语言中,如果一个指针不指向任何数据,我们就称之为空指针,用NULL表示。例如:int *p = NULL;而 int *p; //它不是空指针它的值是随机的...
2021-04-27 21:36:10
189
原创 指针与数组
指针与数组先看代码#include<stdio.h>int main(){int a[5] = {1,2,3,4,5};printf("a = %p\n",a); // 数组名代表首地址 . 000000000064FE30printf("&a = %p\n",&a); // "&a"代表数组的地址 . 000000000064FE30 printf("a+1 = %p...
2021-04-26 20:47:12
268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人