1.函数:C中函数传递的是值,不是地址值。不会对原变量进行操作。
例如:1.函数的传值与传址(ab与xy是俩个完全独立的空间,地址是不一样的)
//swap1在被调用的时候,实参传给形参,其实形参是实参的一份临时拷贝
//改变形参,不能改变实参
//形参是在函数调用的时候才实例化,才开辟内存空间
void Swap1(int x, int y)//
{
int z = 0;
z = x;
x = y;
y = z;
}
void Swap2(int* pa, int* pb)//
{
int z = 0;
z = *pa;
*pa = *pb;
*pb = z;
}
int main()
{
int a = 10;
int b = 20;
//写一个哈函数 - 交换2个整型变量的值
Swap1(a, b);//传值调用
printf("交换前:a=%d b=%d\n", a, b);
Swap2(&a, &b);//传址调用
printf("交换后:a=%d b=%d\n", a, b);
return 0;
}
c语言库:主要有:IO操作、字符串操作、字符操作、内存操作、时间操作、数学操作、其他操作。
2指针: 指针类型存储不同类型,对指针类型变量操作时,改变的具体值是不一样的:例如:int* p,改变时是操作4个字节, char* cp ,改变操作时操作1个字节。
2.1 野指针:1局部变量内存释放后,指针变为野指针。2 数组越界后
3 分模块开发时: 本地库使用:<> 自定义头文件: ""
引入本地库:#include <stdio.h> 引入自己定义的h头文件: #include "add.h"