结构体数组

数组在函数内部会退化成指针,普通数组就是指针,指针数组退化成二级指针

 

 

指向数组的指针

#include<stdio.h>
void main(int argc,char *argv[]) {

    int a[5] = { 1,2,3,4,5 };
    int *p;
    p = a;
    for (int i = 0; i <= 5; i++) {
        printf("%d,%x\n", *(p + i), p + i);
}
    printf("%d", argc);
    getchar();

}

结构体

#include<stdio.h>

struct info {
    char name[22];
    int id;
};
void main() {

    struct info a;

    strcpy( a.name, "sss");
    a.id = 3;

    printf("%s,%d\n",a.name, a.id);
    struct info *p;
    p = &a;
    printf("%s,%d\n", p->name, p->id);
    printf("%s,%d\n", (*p).name, (*p).id);

    getchar();

}

C语言有一bai种数据类型叫结构体,其定义格式du为:


struct 结构体zhi名 {
  结构体成员变量dao定义;
};
如:
struct student {
char name[20];
int age ;
double score ;
};
  用结构体定义的变量叫结构体变量,如:

      struct student stu; //定义一个结构体变量stu

  这种变量在引用结构体成员时,使用点(.)来操作,如:
strcpy( stu.name, "zhangsan" );
stu.age=20;
stu.score=100;
  结构体类型也可以定义指针变量,如:

      struct student *pstu; //定义一个结构体指针变量pstu

      pstu=&stu ; //pstu指针指向stu结构体变量

  结构体指针变量在引用成员变量时,使用箭头(->)来操作,如:
strcpy( pstu->name, "zhangsan" );
pstu->age=20;
pstu->score=100;
  以上这两种符号的使用是C语言的规定!

(*a).b 等价于 a->b。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值