当前位置: 首页 > 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.rkmt.cn/news/176335.html

相关文章:

  • Leetcode 56.合并区间 JavaScript (Day 6)
  • 如何定制自己的PyTorch-CUDA镜像?基于v2.7二次开发指南
  • Anaconda配置PyTorch环境太麻烦?试试PyTorch-CUDA-v2.7镜像
  • PyTorch安装教程GPU版:基于CUDA-v2.7镜像的高效配置方案
  • Jupyter魔法命令大全:提升PyTorch开发效率的%和!!操作
  • 防爆烘箱品牌怎么选?关键指标与推荐 - 品牌排行榜
  • 云交互:重塑数字体验的未来
  • rust交叉编译 simpileperf
  • 如何快速启动PyTorch项目?用PyTorch-CUDA-v2.7镜像就对了
  • 实时渲染如何破局?解锁高效、稳定、安全的云端可视化未来
  • 2025年年终卖得好的学习机品牌推荐:全维度横评从AI能力到内容生态,附10款市场实证型号清单 - 品牌推荐
  • PyTorch最新版本v2.7发布!CUDA集成镜像同步上线
  • 解决wslregisterdistribution失败问题:WSL2下运行PyTorch镜像方案
  • 基于MBD开发的电动汽车主驱电机控制器探秘
  • 神州租车“向上造梦·向下扎根”——从效率竞争到场景定义的全新升级!
  • 清华镜像源支持IPv6访问:提升PyTorch下载速度
  • Markdown写文档+Jupyter跑实验:PyTorch-CUDA-v2.7工作流优化
  • Docker exec进入正在运行的PyTorch容器调试问题
  • 如何在服务器部署PyTorch-CUDA环境?这个镜像省下3小时
  • 将PyTorch模型部署到生产环境:从开发镜像到服务转换
  • 2025声学成像仪大型厂家TOP5权威推荐:供应商甄选指南,定制方案助力工业检测升级 - 工业推荐榜
  • DiskInfo磁盘测速对比:挑选最适合PyTorch训练的SSD
  • PyTorch与TensorFlow哪个更适合你?基于镜像使用的对比
  • 开发中的英语积累 P23:Overlay、Guard、Generator、Flex、Throw、Obtain
  • 清华镜像源加速下载:PyTorch-CUDA-v2.7镜像获取方法汇总
  • 2025年12月深圳南油尾货推荐榜:南油服装尾货、高端尾货供应、尾货库存、服装库存、服装尾货全品类、高价一手回收、直播高价回收,健建服饰精准匹配采购需求 - 海棠依旧大
  • YOLOv11 + PyTorch-CUDA-v2.7:实现毫秒级目标检测响应
  • 适配中小企业数字化转型 北京优质CRM服务商推荐:金畅逍等3家本土企业凭实力出圈 - 海棠依旧大
  • 上下文工程完全解析:6大组件打造动态AI系统,技术干货建议收藏
  • 土木工程师的AI创业路:3天用Qoder搭建公司官网