当前位置: 首页 > news >正文

C语言随堂笔记-8

%2d右对齐  %-2d左对齐

image

 逗号表达式的值从左向右依次计算,整体表达式的值为 最后一个数。

e.g. return a=3, 4; 那么返回的就是4啦

 

 

image

在有些编译器下数组中可以用变量来定义规模。 

整型数组不完全初始化,剩下的元素自动被初始化为0

image

 

上面一种我放进去了3个,剩下的自动补齐。下面一种我放进去了4个,剩下的自动补齐。

image

 

这样的话就会产生问题,因为ch3放进去了三个,没有终止符。而ch4放进去了4个,有终止符。

image打印ch3的时候就会出现这样的错误。

 

image

逻辑为:自动分组,前四个一组,中四个一组,后四个一组,不够的补0.

如果要编译器自动补全,那么必须要给出列数。

image

二维数组的地址也是连续的 差4是因为int占4个Bytes

int arr[3][4] 和 int arr[12] 在内存中的实现是一致的。

image

 1 #include <stdio.h>
 2 int a = 1;
 3 int alpha(int *p) {
 4     printf("%zd\n", sizeof(p));
 5     //将arr当作实参传入函数后,接受的指针变量弱化了,sizeof(p)的时候获得的仅仅是这个指针变量的大小(视平台而定)
 6 }
 7 int main() {
 8     int a[10] = { 0 };
 9     printf("%p\n", &a);
10     printf("%p\n", &a+1);
11 
12     printf("%p\n", a);
13     printf("%p\n", a+1);
14 
15     printf("%p\n", &a[0]);
16     printf("%p\n", &a[0]+1);
17 
18 /*    
19     000000DEB17CFA68 //整个数组的地址
20     000000DEB17CFA90 //跳过整个数组后的下一个地址
21     0x90-0x68=0x28 ---> 十进制下的40=4*10 正确
22 
23     000000DEB17CFA68 //数组第一个元素的地址
24     000000DEB17CFA6C //数组第二个元素的地址
25     0x68+0x4=0x6C ---> 一个int位占四个字节
26 
27     000000DEB17CFA68 //数组第一个元素的地址
28     000000DEB17CFA6C //数组第二个元素的地址
29     0x68+0x4=0x6C ---> 一个int位占四个字节
30 */
31     int b[3][4] = { 0 };
32     printf("%p\n", &b);
33     printf("%p\n", &b + 1);
34 
35     printf("%p\n", b);
36     printf("%p\n", b + 1);
37 
38     printf("%p\n", &b[0]);
39     printf("%p\n", &b[0] + 1);
40 /*
41     00000095F217F838 //整个数组的地址
42     00000095F217F868 //跳过整个数组后的下一个地址
43     0x68-0x38=0x30 ---> 十进制下的48=3*4*4 正确
44 
45     00000095F217F838 //数组第一个元素的地址(第一个元素其实是第一个一维数组)
46     00000095F217F848 //数组第二个元素的地址(第二个元素其实是第二个一维数组)
47     0x48-0x38=0x10 ---> 十进制下的16=4*4 正确
48 
49     00000095F217F838 //数组第一个元素的地址(第一个元素其实是第一个一维数组)
50     00000095F217F848 //数组第二个元素的地址(第二个元素其实是第二个一维数组)
51     0x48-0x38=0x10 ---> 十进制下的16=4*4 正确
52 */
53     printf("%zd\n", sizeof(a));                            //40
54     printf("%zd\n", sizeof(b));                            //48
55     printf("%zd\n", sizeof(a)/sizeof(a[0]));            //10:一共有十个元素
56     printf("%zd\n", sizeof(b)/sizeof(b[0]));            //3:一共有四行
57     printf("%zd\n", sizeof(b[0])/sizeof(b[0][0]));        //4:一行有四个元素
58 
59     alpha(a);
60 }

 

image

 

http://www.jsqmd.com/news/160955/

相关文章:

  • 2025年粉体自动拆包机供应商/生产厂家推荐与采购指南 - 品牌推荐大师1
  • 第五课-Open3D点云数据处理:点云、mesh可视化(draw_geometries方法)
  • 2025年粤港澳跨境出行核心攻略:中港车牌代办与粤Z车牌代办公司权威推荐 - 品致汇
  • Leetcode 56.合并区间 JavaScript (Day 6)
  • 多线程任务管理系统
  • 如何定制自己的PyTorch-CUDA镜像?基于v2.7二次开发指南
  • 第六课Open3D点云数据处理:点云、mesh可视化(Visualizer类)
  • WSL2下运行PyTorch-CUDA-v2.7镜像的完整配置流程
  • Conda环境导出与导入:PyTorch-CUDA-v2.7跨机器迁移技巧
  • 软件工程 课程回顾 102301321 吴颖哲
  • Git克隆项目后如何快速运行?配合PyTorch镜像免依赖烦恼
  • 2025年12月淮北无人机表演、淮北CAAC无人机培训、淮北政企无人机培训、淮北退役军人无人机培训、淮北无人机培训机构哪家强 - 2025年品牌推荐榜
  • CNN图像分类项目快速上手:基于PyTorch-CUDA-v2.7镜像教程
  • 中性点直流偏磁在线监测推荐生产厂家 - 品牌推荐大师1
  • 无需手动编译:PyTorch-CUDA-v2.7镜像自动匹配驱动版本
  • Anaconda配置PyTorch环境太麻烦?试试PyTorch-CUDA-v2.7镜像
  • Linux软链接应用详解:从原理到实战案例
  • 傅里叶变换(四):直角坐标与极坐标
  • PyTorch官方安装步骤太复杂?这个镜像简化90%流程
  • 轻量级深度学习环境:PyTorch-CUDA-v2.7仅需2分钟启动
  • 手把手教学:在云平台拉取并运行PyTorch-CUDA-v2.7镜像
  • 2026年上半年徐州室内装修/室内设计/全屋定制/精装局改/软装搭配公司综合评估与选型指南 - 2025年品牌推荐榜
  • Markdown笔记记录实验过程:配合Jupyter和PyTorch镜像高效科研
  • PyTorch安装教程GPU版:基于CUDA-v2.7镜像的高效配置方案
  • PyTorch-CUDA-v2.7镜像是否支持A100?实测结果公布
  • Markdown语法高亮设置:正确显示PyTorch代码块
  • 旧版PyTorch升级指南:迁移到v2.7镜像的注意事项
  • 2025年高性价比的精密铝材加工工厂推荐,精密铝材加工供应商全解析 - 工业品牌热点
  • 2025年贵阳推荐西点培训学校排行榜,高性价比西点技能培训中心测评精选 - 工业推荐榜
  • 2025年终盘点:固体加料系统哪家好?固体加料系统/供应商/生产厂家推荐 - 品牌推荐大师1