-
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

被折叠的 条评论
为什么被折叠?



