c问题排坑记
发布日期:2021-07-16 18:25:46
浏览次数:2
分类:技术文章
本文共 1624 字,大约阅读时间需要 5 分钟。
C伴随自己差不多十多年了,一直在弄,一直在忘!呵!问题整理:
-
打印芯片的全球唯一码,一组数据为3个字节,丢其中一个字节的0,只打印后面的数???
解决:在打印时,可以指定打印的数据宽度,如:rt_kprintf(“identify[1]:%08x\t”,identify_number[1]);//指定打印8个位(4个字节) -
typedef定义的结构体后面跟变量与大括号跟变量什么区别来?
解决:这个问题,凭记忆是这样的,struct后面跟名字,代表定义一种新数据类型,和int、double型差不多。使用时,要和struct 名字一起,而struct{}后面跟变量名,表示struct别名,这也是typedef本来的意思,就是为数据类型定义一个别名。 如下代码:
typedef struct seq_list{ /* data */}seq;//定义变量时,可以是seq myseq;//如果没有typedef的话,定义变量是struct seq_list myseq;也可以是struct seq myseq;这里的seq成了seq_list的别名。//当然常用的就是{}后面跟名字,这样可以定义时可省掉struct.
-
指针数组与数组指针是怎么个书写形式来?又记不太清了……
关键是想了解三个操作符的优先级:() > [] > *。 例如:char *p1[2];//可以认为先做了一个数组p1[],然后指明数组类型是char *,也就是数组内容是指向char型变量的指针,所以这种形式为:“指针数组。”
char (*p2)[3];//看到小括号了,所以可以认为是,先构造了一个指针,再看到中括号可以认为是指针指向一个数组,但这个数组是个匿名数组,并且类型为char型
实测例子,如下:
#include
#include int main() { // int n; // printf("This is a test file!\r\nInput a number: "); // scanf("%d",&n); // printf("The number is %d",n); // char *p1[4] = {"自", "信", "起", "来"}; // for (int i = 0; i < 4; i++) { // printf("%s\n", *(p1 + i)); // // printf("%s\n", p1[i]); // } // char(**p2)[4] = &p1; // for (int i = 0; i < 4; i++) { // printf("%s\n", *(p2 + i)); // } int *p3[4] = { 1, 2, 3, 4}; for (int i = 0; i < 4; i++) { printf("%d\n", p3[i]); } for (int i = 0; i < 4; i++) { printf("%d\n", *(p3 + i)); } int(**p4)[4] = &p3;//这个就是常规用法,其他用法都会出错,得使用二重指针,才能正确打印出指针数组 //二重指针是因为指针数组本身也是指针,得再取一次指针才是数组的指针。 for (int i = 0; i < 4;i++){ printf("%d\n", *(p4 + i));// } return 0;}
转载地址:https://blog.csdn.net/guangod/article/details/117718138 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月17日 20时31分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python web 框架 Flask 蓝图的正确使用姿势
2021-06-30
领扣LintCode算法问题答案-1053. 至少是其他数字两倍的最大数
2021-06-30
领扣LintCode算法问题答案-1054. 最少费用的爬台阶方法
2021-06-30
领扣LintCode算法问题答案-1056. 请找出大于目标的最小字母
2021-06-30
领扣LintCode算法问题答案-1062. 洪水填充
2021-06-30
领扣LintCode算法问题答案-1068. 寻找数组的中心索引
2021-06-30
领扣LintCode算法问题答案-1071. 词典中最长的单词
2021-06-30
领扣LintCode算法问题答案-1078. 数组的度
2021-06-30
领扣LintCode算法问题答案-1079. 连续子串计数
2021-06-30
领扣LintCode算法问题答案-1080. 最大的岛
2021-06-30
【精】LintCode领扣算法问题答案:1082. 员工的重要度
2021-06-30
领扣LintCode算法问题答案-1085. 最长的单一路径
2021-06-30
【精】LintCode领扣算法问题答案:1086. 重复字符串匹配
2021-06-30
SMTP 550错误
2021-06-30
Functional Interface JDK1.8
2021-06-30
windows 编写的脚本 无法在linux下运行
2021-06-30
Hive函数大全
2021-06-30
大数据系列的默认端口(hbase,hadoop,hived等)
2021-06-30
Hive 创建表的三种方式
2021-06-30
Java 发起http GET POST请求实例
2021-06-30