指针和数组、指针和函数、指针和它们的配合之案例。
内容纲要

指针和数组

1.指针指向的数组,解引用时,数组第一
个地址为 arr[0] 的地址

2.*我测试了一下 p++ 和 p++ 对于指针解引用遍历数组是一样的。都是让地址 + 一个数组类型的字节长度**

#include <iostream>
using namespace std;
int main(){

    int arr[5] = { 1, 2, 3, 4 };

    int * p = arr;
    cout << "数组索引获取第一个元素" << arr[0] << endl;//1
    cout << "用指针获取数组第一个元素" << *p << endl;//1
    cout << "sizeof(arr) / sizeof(arr[0]) = " << sizeof(arr) / sizeof(arr[0]) << endl; // sizeof(arr) / sizeof(arr[0]) = 5

    //根据指针遍历数组
    for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
    {
        cout << "通过指针来遍历数组:" << *p << endl;
        //p++;
        *p++;

    }
    system("pause");
    return 0;
}

指针和函数

作用:利用指针作为函数参数,可以修改实参的值

  • 地址传递就是JAVA中的引用传递嘛。
#include <iostream>
using namespace std;
void swap(int *a, int *b){
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main(){
    int a = 10;
    int b = 20;
    int * c = &a;
    int * d = &b;

    swap(c, d);

    cout << "a的值为:" << a << endl;//20
    cout << "b的值为:" << b << endl;//10

    system("pause");
    return 0;
}

指针、数组、函数案例

案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序。
案例数组:int arr[10]={4,3,6,9,1,2,10,8,7,5};

bubble.cpp

#include <iostream>
#include "bubble.h"

using namespace std;

int main(){
    int arr[10] = { 4, 3, 6, 9, 1, 2, 10, 8, 7, 5 };
    int length = sizeof(arr) / sizeof(arr[0]);

    arrBubble(arr,length);
    printArr(arr,length);

    system("pause");

    return 0;
}

void arrBubble(int *arr,int length){
    //使用无返回的函数,函数内通过指针来完成对实参的修正。
    for (int i = 0; i < length - 1; i++)
    {
        for (int j = 0; j < length - i - 1; j++)
        {
            if (arr[j] > arr[j+1])
            {
                int temp = arr[j];//不这样写怕arr[]传一个空的进来吗。
                arr[j] = arr[j + 1];
                arr[j+1] = temp;
            }
        }
    }
}

void printArr(int *arr,int length){

    for (int i = 0; i < length; i++)
    {
        cout << arr[i] << endl;
    }

}

bubble.h

#include <iostream>

using namespace std;

void arrBubble(int *arr,int length);
void printArr(int *arr,int length);

睡了睡了,狗命要紧

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇