A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© A侠 中级黑马   /  2015-10-5 00:42  /  774 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  • //结构体指针
  • //用于存储结构体的地址,并操作地址对应的结构体空间里的数据
  • #include <stdio.h>
  • int main(){
  • //    定义及初始化赋值
  •     struct Person{
  •         char *name;
  •         int age;
  •         char a[2];
  •     };
  •     struct Person shi={"shiyan",2,{'a','b'}};
  •    printf("\n%d%s\n",shi.age,shi.a);
  •     shi.a[0]='c';
  •     printf("\n%d%s\n",shi.age,shi.a);
  • //    struct Person per1={"CAT",2};
  • //    struct Person *p=&per1;//取结构体地址
  • //
  • ////    取值方法1
  • ////    (*p).name;
  • //
  • //    printf("%s,%d\n",per1.name,per1.age);
  • //    printf("%s,%d\n",(*p).name,(*p).age);
  • //    printf("%s,%d\n",p->name,p->age);
  • ////
  • //    p->name="DOG";
  • //    (*p).age=10;
  • //    printf("%s,%d\n",per1.name,per1.age);
  • //
  • ////    char **ps=per1;//这是错误的
  • ////    结构体名并不包含第一个元素的地址,要记住,要和数组区分开
  • //    char **ps=&per1.name;//这样才是第一个元素的地址
  • //
  • //    char *c=per1.name;
  • //    printf("%s\n",c);
  •     return 0;
  • }

1 个回复

倒序浏览
很实用!!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马