-
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