C++ 指針遍歷數組

  • 1.概念:

    指針是程序數據在內存中的地址,而指針變量是用來保存這些地址的變量。

  • 2.demo代碼如下:

#include <iostream>

using namespace std;

void len_fun(char *str, int length);

/**
 * 指針練習
 * @return
 */
// 要調用上面定義函數的主函數
int main ()
{
    int num1 = 1;
    int num2 = 2;

    int *const p = &num1;
    int *p2 = &num1;
    char *p3 = nullptr;
    bool isequal = p == p2;
    *p = 3;//這兒是常量指針,不可以指向其他,但可以改變指向地址的值

    cout << *p <<endl;
    cout << isequal << endl;
    //cout << "p3:" << p3 << endl;

    int arr[]={1,2,3,4,5,6,7,8,9,0};
    int *p4 = &arr[0];//此時p是一個指向數組首元素的指針
    cout << "arr:" << arr << endl;
    cout << " p4:" << p4 <<endl;

    char arr2[] = {"13579AaBBCc"};
    len_fun(arr2, sizeof(arr2));


    return 0;
}

/**
 * 參數爲指針類型的,指向數組瘦元素,內部要遍歷內容需要傳遞數組長度進去
 * @param str 
 * @param length 
 */
void len_fun(char *str, int length)
{
    int m = sizeof(str);
    char *p6 = str;
    for(int i = 0; i < length; i++){
        printf("%c ", *(p6 + i));
    }
    printf("\n");
    printf("length of str:%d\n",m);//m是指針類型長度
}
  • 3.輸出如下:

D:\C++Test\cmake-build-debug\C__Test.exe
3
1
arr:0x61fdc0
p4:0x61fdc0
1 3 5 7 9 A a B B C c
length of str:8
Process finished with exit code 0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章