指针

作者: wangxiaojin | 来源:发表于2021-06-30 20:40 被阅读0次
    
    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字节

    相关文章

      网友评论

          本文标题:指针

          本文链接:https://www.haomeiwen.com/subject/aqzlultx.html