一 :数据类型

1.float类型,在输出的时候可以使用 .数字  来把浮点数精确到小数点后几位,比如 printf("%.3f",float)精确到小数点后三位,不足补0

2.字符串接收 定义个字符数组

char str[]="";

scanf("%s",&str);  //遇到空格就停止接收

gets(str);   //可以接收所有字符

printf("%s",str);

3.在向一个函数传入数组,直接传入数组名,其实就相当于传入的是数组的首地址指针;在函数中可以用数组形式接收int arr[],也可以用指针形式接收int * arr;

#include <stdio.h>
#define four 4; void add(int arr[]);
//也可以是
void add(int * arr); int main(void)
{
int arr[four]={,,,};
add(arr);
} void add(int * arr)
{
//在操作数组时 arr[i]==*(arr+i)
int i;
for(i=;i<;i++)
{
printf("%d",arr[i]);
//也可以是
printf("%d",*(arr+i));
} }

二:结构体

 struct books{
int num;
char name[];
float price;
    
}

2.1. 结构体内存占用

2.1.1.结构体所占的空间可以见到的认为是各个成员所占内存空间之和

      int   4bit, char  1bit, float   4bit

      所以结构体books的大小大概是29bit

2.1.2.实际是最大成员变量所占空间的最小整倍数

   在结构体books中最大成员变量是int和float,都是4bit,4的最小倍数要比29大,所以就是32,

      因此实际占得大小是32bit

2.3 typedef   给类型重新指定名称

typedef  int  TOINT

int a=10;   =>  TOINT a=10;

更改结构体的名称

1.typedef  struct books  BKS;

2. typedef struct books{
int num;
char name[21];
float price;
    
}BKS;

2.3 赋值

2.3.1. 最特殊的是给结构体中的数组赋值

错误写法:  BKS.name = "C primer Plus";

正常写法:  strcpy(BKS.name,"C primer Plus");

或者在定义结构体的时候使用指针指定名称

typedef struct books{
int num;
char * name;
float price;
    
}BKS;

这样就可以

先申请内存空间malloc

BKS.name = (char*) malloc(50*sizeof(char));

strcpy(BKS.name,"C primer Plus");

2.3.2. 结构体变量可以直接赋值给另一个结构体变量

BKS a={......};    BKS b;

b = a;

2.4 数组与结构体

定义一个结构体数组,存放结构体

BKS  arr[] = {
{....},
{....},
{....}
}

  访问的话就是,比如访问name : arr[0].name

最新文章

  1. Leetcode 笔记 98 - Validate Binary Search Tree
  2. Android的setVisibility(View.GONE)无效的问题及原因分析(转)
  3. 斯坦福第十六课:推荐系统(Recommender Systems)
  4. (easy)LeetCode 202.Happy Number
  5. 移动端开发,几个你可能不知道的CSS单位属性。
  6. mysql 连接丢失错误解决(转载)
  7. JavaScript中的各种宽高以及位置总结
  8. 快速消除IOS 版本升级带来的警告
  9. PHP图形计算器(计算三角形矩形周长面积)
  10. 从Myeclipse到Intelj Idea
  11. Linux下修改主机名步骤
  12. docker hub加速访问设置
  13. UVA 536 Tree Recovery 建树+不建树
  14. Hadoop 管理工具HUE配置-初始配置
  15. [Linux]CentOS与终端破墙
  16. Symantec Backup Exec 2010 安装报 bad ELF interpreter: No such file or directory
  17. 11.1 vue(2)
  18. 记录:CSS选择器学习
  19. matlab中 数据保留有效位数
  20. webmin安装简介

热门文章

  1. css3动画性能优化--针对移动端卡顿问题
  2. idea创建Scala入门HelloWorld
  3. svg vs canvas
  4. 20155307 2016-2017-2《Java程序设计》课程总结
  5. spring源码-aop源码-5.1
  6. jenkins自动打包部署linux
  7. 牛客小白月赛9H论如何出一道水题(两个连续自然数互质)
  8. gitlab runner 填坑记
  9. artDialog基本使用
  10. Linux安装JDK8详细步骤