const int mConst = 1;//常量
static int mStatic = 2;//静态变量
int main() {
printf("Hello, World!\n");
int a;
//&a 取a地址 给ptr
int *ptr = &a;
//*ptr表示值 给*ptr 赋值
*ptr = 8;
//万能指针
void *pVoid = &a;
printf("void* 是万能指针 %p \n", pVoid);
printf("int 的size = %d\n", sizeof(a));
char i = 'a';
printf("char 类型的size = %d \n", sizeof(i));
int ii = 0;
printf("int 的size = %d\n", sizeof(ii));
long l = 1000l;
printf("long 类型的size = %d \n", sizeof(l));
long long ll = 1000;
printf("long long 类型的size = %d \n", sizeof(ll));
double d = 1;
printf("double 类型的size = %d \n", sizeof(d));
int z = *ptr;
//栈内存
//由系统进行内存的管理。主要存放函数的参数以及局部变量。在函数完成执行,系统自行释放栈区内存,不需要用户管理。
//堆内存
//由编程人员手动申请,手动释放,若不手动释放,程序结束后由系统回收,生命周期是整个程序运行期间。使用malloc或者new进行堆的申请。
//正整数
unsigned int usg = 1;
// 野指针 目前理解的是,被free,或者delete但是没有赋值为null,的指针
//指针的步长 定义当指针+1时候,移动多少字节单位 char的步长为1,int的步长为4 ,long的步长也是4, long long 为8
long long aa = 0xaabbccdd;
char mChar = 'a';
unsigned long long *p1 = &aa;
return 0;
}
char类型占1字节
int 类型占4字节
long 类型占4字节
double 类型占8字节
long long 类型占8字节
网友评论