指针的两种声明、初始化方式
1、直接声明
格式:typeName * pointerName = 内存地址;
//1.直接声明
int a = 10; // 声明变量a
int* pa = &a; // 声明int型指针pa,将a的地址指向pa
cout << "变量a的地址是&a=" << &a << endl;
cout << "指针pa指向地址是pa=" << pa << endl;
cout << "指针pa的值是*pa=" << *pa << endl;
2、new关键字声明指针
格式:typeName * pointerName = new typeName;
//2. new关键字声明指针
int* pa1 = new int;
char* pc = new char;
*pa1 = 100;
*pc = 'M';
cout << "指针pa1的值是*pa1=" << *pa1 << endl;
cout << "指针pc的值是*pc=" << *pc << endl;
3、使用sizeof来确定标准数据类型占用的字节数
#include "stdio.h"
int main()
{
char c;
short s;
int i;
long l;
float f;
double d;
long double ld;
int array[20];
int *ptr = array;
printf(" sizeof c = %d\t\tsizeof(char) = %d"
"\n sizeof s = %d\t\tsizeof(short) = %d"
"\n sizeof i = %d\t\tsizeof(int) = %d"
"\n sizeof l = %d\t\tsizeof(long) = %d"
"\n sizeof f = %d\t\tsizeof(float) = %d"
"\n sizeof d = %d\t\tsizeof(double) = %d"
"\n sizeof ld = %d\t\tsizeof(long double) = %d"
"\n sizeof array = %d"
"\n sizeof ptr = %d\n",
sizeof c, sizeof(char),
sizeof s, sizeof(short),
sizeof i, sizeof(int),
sizeof l, sizeof(long),
sizeof f, sizeof(float),
sizeof d, sizeof(double),
sizeof ld, sizeof(long double),
sizeof array, sizeof ptr);
return 0;
}
输出结果:
sizeof c = 1 sizeof(char) = 1
sizeof s = 2 sizeof(short) = 2
sizeof i = 4 sizeof(int) = 4
sizeof l = 4 sizeof(long) = 4
sizeof f = 4 sizeof(float) = 4
sizeof d = 8 sizeof(double) = 8
sizeof ld = 12 sizeof(long double) = 12
sizeof array = 80
sizeof ptr = 4