C语言 结构体变量地址

复制代码
#include<stdio.h>

typedef struct student
{
    char name[20];
    int age;
}STU;

int main(){
    STU boy;
    // 结构体的地址=第一个成员的地址(但是类型不同)
    printf("&boy=%p\n",&boy); //STU * 结构体指针
    printf("&(boy.name)=%p\n\n",&(boy.name)); //char * 字符型指针
    
    STU edu[3]={
        {"张三",19},
        {"李四",18},
        {"王五",21}
    };
    //数组名=数组地址=数组第一个元素的地址=数组第一个元素的第一个成员的地址
    printf("张三地址=%d\n", edu);
    printf("张三地址=%d\n", &edu);
    printf("张三地址=%d\n", &edu[0]);
    printf("张三地址=%d\n\n", &(edu[0].name));

    //数组第二个元素的地址=数组名+1=数组第一个元素的地址+1
    printf("李四地址=%d\n", &edu[1]);
    printf("李四地址=%d\n", edu+1);
    printf("李四地址=%d\n",&edu[0]+1);

    //如何访问数组第二个元素(也就是李四)呢?
    printf("name=%s\n", edu[1].name);
    printf("name=%s\n", (edu+1)->name);
    printf("name=%s\n",(&edu[0]+1)->name);
    
    return 0;
}
复制代码

 

posted @   不会飞的鲨鱼  阅读(1465)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示