环境:ide:Mac+clion
我是看这个视频,进行学习跟进:
https://www.bilibili.com/video/BV1Hb411Y7E5?p=5
函数:
int add (int x,int y){ //形参
int sum = x + y;
return sum;
}
int value = add(3,5); //实参
cout << value << endl;
c++ 是值传递。
//函数声明,告诉编译器有这么一个函数
int max(int, int);
//函数定义
int max(int x, int y) {
return x >= y ? x : y;
}
函数分文件编写:
创建.h //用来写函数声明
创建cpp 文件 //函数定义, 引入.h头文件
在main 函数中,引入.h头文件,使用该函数即可。
//指针即是地址,通过*p 进行指针解引用,就是那个实际的值。
int a = 10;
int *p; //定义一个指针
p = &a; //指针指向10的地址。
cout << "a的地址:"<< &a << endl;
cout <<"指针p的值:"<<p << endl;
cout <<"对指针进行解引用的值:"<<*p << endl;//对指针进行解引用
cout <<"a的值:"<<a << endl;
*p = 20; //可以通过解引用来修改该地址的值
cout <<"a的值:"<<a << endl;
//32位系统指针的内存是4,64位系统都是内存都是8
int a = 10;
int * p = &a;
cout << sizeof (p)<<endl;
cout << sizeof (char *)<<endl;
cout << sizeof (double *)<<endl;
cout << sizeof (float *)<<endl;
//空指针和野指针: 空指针用于给指针变量初始化,空指针是不允许进行访问的。
// 0 -255 的内存编号是系统占用的,不能访问它。
int * p = NULL;
//cout << *p << endl; // 这里报错。
//野指针,是指向的非法的地址。 避免出现野指针。
p = (int *)0x1100;
cout << *p << endl; // 这里报错。没权限访问。