首页 > 其他分享 >65.C指针---sizeof()函数和strlen()函数常见考

65.C指针---sizeof()函数和strlen()函数常见考

时间:2024-10-20 10:47:45浏览次数:8  
标签:char arr 函数 --- 65 printf sizeof strlen

#include <stdio.h>
#include <string.h>

int main() {
    int a[] = {1, 2, 3, 4};
    printf("%d\n", sizeof(a));
    printf("%d\n", sizeof(a + 0));
    printf("%d\n", sizeof(*a));
    printf("%d\n", sizeof(a + 1));
    printf("%d\n", sizeof(a[1]));
    printf("%d\n", sizeof(&a));
    printf("%d\n", sizeof(*&a));
    printf("%d\n", sizeof(&a + 1));
    printf("%d\n", sizeof(&a[0]));
    printf("%d\n", sizeof(&a[0] + 1));
    printf("=============================\n");
    char arr[] = {'a', 'b', 'c', 'd', 'e', 'f'};
    printf("%d\n", sizeof(arr));
    printf("%d\n", sizeof(arr + 0));
    printf("%d\n", sizeof(*arr));
    printf("%d\n", sizeof(arr[1]));
    printf("%d\n", sizeof(&arr));
    printf("%d\n", sizeof(&arr + 1));
    printf("%d\n", sizeof(&arr[0] + 1)); 
    printf("=============================\n");
    printf("%d\n", strlen(arr)); 
    printf("%d\n", strlen(arr + 0)); 
    printf("%d\n", strlen(*arr)); 
    printf("%d\n", strlen(arr[1])); 
    printf("%d\n", strlen(&arr)); 
    printf("%d\n", strlen(&arr + 1)); 
    printf("%d\n", strlen(&arr[0] + 1)); 
    printf("=============================\n");
    char b[] = "abcdef"; 
    printf("%d\n", sizeof(b));
    printf("%d\n", sizeof(b + 0));
    printf("%d\n", sizeof(*b)); 
    printf("%d\n", sizeof(b[1]));
    printf("%d\n", sizeof(&b)); 
    printf("%d\n", sizeof(&b + 1)); 
    printf("%d\n", sizeof(&b[0] + 1)); 
    printf("=============================\n");
    printf("%d\n", strlen(b)); 
    printf("%d\n", strlen(b + 0)); 
    printf("%d\n", strlen(*b));
    printf("%d\n", strlen(b[1]));
    printf("%d\n", strlen(&b)); 
    printf("%d\n", strlen(&b + 1)); 
    printf("%d\n", strlen(&b[0] + 1)); 
    printf("=============================\n");
    char *p = "abcdef";
    printf("%d\n", sizeof(p));
    printf("%d\n", sizeof(p + 1)); 
    printf("%d\n", sizeof(*p)); 
    printf("%d\n", sizeof(p[0])); 
    printf("%d\n", sizeof(&p));
    printf("%d\n", sizeof(&p + 1));
    printf("%d\n", sizeof(&p[0] + 1));
    printf("=============================\n");
    printf("%d\n", strlen(p));
    printf("%d\n", strlen(p + 1));
    printf("%d\n", strlen(*p));
    printf("%d\n", strlen(p[0]));
    printf("%d\n", strlen(&p));
    printf("%d\n", strlen(&p + 1));
    printf("%d\n", strlen(&p[0] + 1));

}

标签:char,arr,函数,---,65,printf,sizeof,strlen
From: https://www.cnblogs.com/gaodiyuanjin/p/18487013

相关文章

  • 奇数偶数分开并排序(冒泡函数)
    voidbubbleSort(intarr[],intn){inti,j;for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(arr[j]>arr[j+1]){//交换arr[j]和arr[j+1]inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}intmain(){int......
  • Java中的锁 -- 开篇
    Java中的锁1.顶级接口LockJavaSE5之后并发包中新增了Lock接口,它提供了与synchronized关键字类似的同步功能,只是在使用时需要显式地获取和释放锁。虽然它缺少了隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操作性、可中断的获取锁以及超时获取锁等多种synchronized关......
  • Day19--可变参数
    Day19--可变参数从JDK1.5开始,Java支持传递同类型的可变参数给一个方法。在方法声明中,在指定参数类型后加一个省略号(...)。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。有时候,代码里面的方法重载有很多,看着很繁琐,这就需要......
  • YOLO11-pose关键点检测:可变形双级路由注意力(DBRA),魔改动态稀疏注意力的双层路由方法BiL
    ......
  • YOLO11-pose关键点检测:独家创新(SC_C_11Detect)检测头结构创新,助力手势pose关键点检测
     ......
  • tauri2.0-admin-vue3+element-plus客户端后台管理系统-源码版
    基于Tauriv2+vue3+ElementPlus+Echarts首款重磅桌面端后台管理系统Exe解决方案Tauri2Vue3Admin,正式完结了。趁着周末,录制了一个源码版演示视频。【源码版】tauri2.0+vite5+element-plus中后台管理系统解决方案技术栈编码器:vscode技术框架:tauri2.0+vite5.4.8+vue3.5......
  • 详解UDP-TCP网络编程
    目录UDP数据报套接字编程API代码示例--(回显)单个客户端UdpEchoServerUdpEchoClientUdpDictServer(词典)将服务端程序部署到云服务器上TCP流套接字编程API长短链接代码示例--(回显)多个客户端TcpEchoServerTcpEchoClientUDP数据报套接字编程APIDatagramSoc......
  • 2.2-2.50
    2.2点击查看代码fromscipy.specialimportgammaimportpylabaspltimportnumpyasnpplt.rc('text',usetex=True)x=np.linspace(-5,5,1000)plt.plot(x,gamma(x),c='k')plt.xlabel('$x$')plt.ylabel('$\Gamma(x)$');plt.s......
  • 【10月持续更新】国内ChatGPT-4中文版镜像网站整理合集
    ​一、GPT工具跟国内AI大模型整理(一)、GPT国内1.https://snakegpt.work ChatGPT中文版,支持GPT3.5/4/4o,可以用MJ绘画2.GPTCAT  GPT官网逆向版,支持GPT4o的实时语音对话,支持GPTo1-preview3.https://ai-panda.xyz/4.GPTDOG(二)、国内大模型1.文心一言:https://yiyan.baidu.com......
  • json-server详细模拟GET、POST、DELETE等接口数据教程
    引言在前端开发过程中,我们经常需要在后端API尚未就绪的情况下模拟接口数据。json-server是一个强大而灵活的工具,可以帮助我们快速创建一个模拟的RESTfulAPI。本文将详细介绍如何使用json-server来模拟GET、POST、PUT、PATCH、DELETE等常用的HTTP方法,以及如何处理复杂的数......