指针指向某一内存地址。
比如:
int x = 1;
int *p = &x;
*p = 2; //p和&x指向的内容都变成2了。
统配指针类型:
void *p;
带const限定符的指针:
1. const int *p = &x
不能通过p修改x的值,但是可以让p指向另一变量。
2. int *const p = &x
p只能指向x,但x的值可以修改。
3. const int *const p = &x
p只能指向x,并且不能通过p修改x的值。
【指针与动态内存分配】
指针变量用完要回收,否则会耗内存。
判断指针有无动态分配成功的例子:
#include <iostream>
using namespace std;
int main() {
int *p;
p = new int;
if(!p) {
cout << "Allocation Failure\n";
return 1;
}
*p = 20;
cout << *p;
delete p;
return 0;
}
或者
#include <iostream>
#include <cassert>
using namespace std;
int main() {
int *p;
p = new int;
assert (p != 0);
*p = 20;
cout << *p;
delete p;
return 0;
}
参考:
《C++程序设计 思想与方法》