指针和数组
#include<iostream>
#include<string>
using namespace std;
int main()
{
string going[5] = { "1","2","3","4","5" };
string *p;
p = going;
cout << sizeof(string) << endl;
for (int i = 0; i < 5; i++) //从0开始索引
{
cout << *p << endl;
cout << int(&going[i]) << " " << int(p) << endl;
p++;
}
return 0;
}
指针和函数
- 指针作为函数参数实现地址传递
- 直接改变地址内的值
地址传递
void swap(int* p1,int* p2) //定义指针变量
{
int temp = *p1; //解指针-在对应内存操作
*p1 = *p2;
*p2 = temp;
}
int main()
{
int a = 10, b = 20;
swap(&a, &b);
}
指针,数组,函数
实现整型数组升序排序
例:arr[10] = {4,3,6,9,1,2,10,8,7,5}
// 排序
void sort(int* arr,int length)
{
for(int i=1;i<length;i++)
{
for(int j=0;j<iength-i;j++)
{
if(arr[j]>arr[j+1])
{
swap(arr+j,arr+j+1)
}
}
}
}
int main()
{
int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
int length = sizeof(arr) / sizeof(arr[0]);
sort(arr, length);
}