#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main01()
{
//定义指针变量存储变量地址
int a=10;
//指针数据类型,p是指针数据类型的变量。指针类型:数据类型*变量名
int*p;
p=&a;
printf("%p ",&a);
printf("%p ",p);
//通过指针间接改变变量的值
*p=100;
printf("%d ",a);
printf("%d ",*p);
return 0;
//结果
}
int main02()
{
//所有指针类型存储的都是内存地址,内存地址都是一个无符号十六进制整型int类型
//在32位(x86)操作系统下所有指针类型都是4个字节大小;在64位(x64)操作系统下所有指针类型都是8个字节大小
//&是取地址符号, 表升维度;*是取值符号,表降维度
char ch='a';
char*p=&ch;
printf("%d ",sizeof(char*));
int a=10;
//在这里是一个变量; //int*q = &a:在这里是一个地址
int q=&a;
//强制类型转换
*(int*)q=100;
printf("%d ",sizeof(q));
//指针在内存中占的字节大小
printf("%d ",sizeof(int*));
printf("%d ", sizeof(short*));
printf("%d ", sizeof(long*));
printf("%d
", sizeof(long long*));
printf("%d
", sizeof(float*));
printf("%d
", sizeof(double*));
return 0;
//结果
32位(x86)
64位(x64)
}