项目开发日报表
项目名称 | 【苏嵌实训-嵌入式 linux C 第三天】 |
---|---|
今日进度以及任务 | C语言概述、数据类型、运算符、基本控制语句、实战 |
本日任务完成情况 | 完成了老师上课布置的任务。 |
本日开发中出现的问题汇总 | 无 |
本日未解决问题 | 对老师上课布置的 *(ptr++)、 *(++ptr)这道题目没能完全理解 |
本日开发收获 | 对C语言数据类型和运算符一些比较容易混淆的地方有了更深的了解 |
其他 | 无 |
笔记:
右左法则
确定a是一个变量, 就要确定该变量保存什么类型的数据,保存什么类型的数据,它就是什么类型的变量;
确定a是一个指针变量,就要确定该指针变量保存什么类型地址,保存什么类
型的地址,它就是什么类型的指针变量;
确定a是一个数组,就要确定数组里的元素是什么类型的,元素是什么类型,
它就是什么数组;
确定a是一个函数,就要确定函数的形参和返回值;
int * ( *( *fp1) ( int ) ) [ 10 ]
fp1: 函数指针变量,指向一个函数,形参为int,返回值为指针数组,该指针指向一个有10个整型指针的数组。
运算符
int i = 2;
printf("%d,%d,%d,%d,%d\n",i++,i++,++i,i++,++i);
//++i被替换成变量i
//i++被替换成数值
6,5,7,3,7
char *ptr = "abcdefghij"
printf("%c,%c,%c,%c\n",*(ptr++),*(++ptr),*(++ptr),*(ptr++));
d,d,c,a