函数的分文件编写

创建.h后缀的头文件

创建.cpp后缀的源文件

在头文件中写函数的声明

在源文件中写函数的定义

指针

指针本质就是寻找地址

指针语法定义 变量类型* 指针变量名;

//指针定义的语法:数据类型*指针变量名;
int * p;
//让指针记录变量a的地址
p=&a;
//如何使用指针
//可以通过解引用的方式来找到指针指向的内存
//指针前加*代表解引用,找到指针指向的内存中的数据
*p=1000;
cout<<"a="<<a<<endl;
cout<<"*p="<<*p<<endl;

指针所占用内存空间

cout<<sizeof(int *)<<endl;
cout<<sizeof(double*)<<endl;
cout<<sizeof(char *)<<endl;
cout<<sizeof(float*)<<endl;

在32位操作系统中 指针占据4个字节,64位操作系统中,指针所占据的内存为8个字节。

空指针

定义 指针变量指向内存中编号为0的空间

用途 初始化指针变量

注意 空指针指向的内存是不可以访问的

int*p=NULL;

野指针 指针变量指向非法的内存空间

const 修饰指针

int a = 10;
int b = 10;
 const int * p = &a//   const修饰指针 常量指针 指针指向的值不可以改,指向可以改。
 int * const p = &a // const修饰常量 指针常量 指针的指向不可以修改,指针指向的值可以修改。
const int * const p = &a // const修饰常量和修饰指针 指针指向的值和指向都不可以修改

指针和数组

作用 利用指针访问数组中的元素

int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

int * p = arr;
	for (int i = 0; i<10; i ++)
	{
		cout << * p << endl;
		p++;
	}

指针与函数

地址传递可以修改实参的数值

//地址传递
void swap(int* p1, int* p2)
{
	int temp = *p1;
	*p1 = *p2;
	*p2 = temp;

}
int a = 10;
	int b = 20;
	swap(&a, &b);
	cout << a << endl;
	cout << b << endl;

结构体

结构体属于用户自定义的数据类型,允许用户储存不同的数据类型

//结构体定义和使用
// 语法 struct 结构体名称{成员列表};
struct student { string name; int age; int score; };


struct student s1 = { "李四", 18,100,};
	cout <<"姓名"<< s1.name << "年龄"<<s1.age <<"分数"<< s1.score << endl;

输出的话需要用.name .age .score

结构体数组

//结构体数组
// 将自定义的结构放入到数组中方便管理
// 1 定义结构体
struct student { string name; int age; int score; };

int main()
{
	// 2 创建结构体数组
	struct student arr[3] = { {"张三",18,100}, {"李四",20,80},{"王五",23,100} };
	// 3 结构体数组中的元素赋值
	arr[2].name = "赵六";
	arr[2].age = 25;
	arr[2].score = 100;
	// 遍历结构体
	for (int i = 0; i < 3; i++)
	{
		cout << "姓名" << arr[i].name << "年龄" << arr[i].age << "分数" << arr[i].age << endl;


	}
	
	system("pause");
	return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值