结构体

例如要定义一个人需要复杂的各种变量结合在一起就需要结构体
是我们自己创造出来的类型

struct关键字

为结构体关键字即结构体中需要用到struct
用法:
struct Book
{
char name[20];
int price;
}; //;不可缺少
注意:
结构体中不能直接赋值
在主函数中使用
struct Book b1 = {"C语言程序设计", 55};
输出:
printf("书名:%s\n", b1.name);//C语言程序设计
printf("价格:%d\n", b1.price);//55
b1.name = "java"; //报错因为name为一个数组
同理正常的
char ch[] = "xzc";
ch[] = "abc";//也是报错数组只能初始化不可以再赋值
b1.price = 10; //可以改变因为price为一个变量
printf("价格:%d\n", b1.price);//10
要想改变结构体中的字符串数组需要用到strcpy()函数

strcpy函数

首先需要头文件#include <string.h>
用法:
strcpy(name, "c++");//将"c++"赋值给name
具体代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main(){
char ch[] = "xzc";
strcpy(ch, "abc");
printf("%s\n", ch);
return 0;
} //此时结果为abc
注意:
b1的指针类型与b1一致
struct Book p=&b1;
printf("%s\n", (
p).name);//必须加()不然会报错不能识别
printf("%d\n", (*p).price);
->:箭头操作符用法:
printf("%d\n", p->price);//输出为10//简化了上述写法

©著作权归作者所有:来自51CTO博客作者谢什么驰的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 如何更好地结构化表示一个 URL?
  2. 带你一步步设置layui的tree树结构点击高亮
  3. 详解增强算术赋值:“-=”操作是怎么实现的?
  4. 数据结构之优先队列和堆
  5. Python数据结构大结局:DataFrame
  6. Python数据结构:神奇的序列
  7. Python数据结构:字典那些事儿
  8. Python地信专题 | 基于geopandas的空间数据分析—数据结构篇
  9. 数据结构 #2 36张图带你深刻理解链表

随机推荐

  1. android 如何把新建项目的那个 android a
  2. Android开发实现HttpClient工具类
  3. 第一番 Android 不能进行debug调试
  4. 直播源码Android实现 曲线路径动画
  5. android按键定义
  6. Android应用程序生命同期
  7. Android存储数据到本地文件
  8. android的service中在后台弹出提示框
  9. android中去掉EditText的自动焦点获取
  10. 默认不弹出输入面板