指针

2021-06-30  本文已影响0人  wangxiaojin

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字节

上一篇下一篇

猜你喜欢

热点阅读