指针练习------详细的图文并茂法来解析

简介: 指针练习------详细的图文并茂法来解析

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));

image.png

image.png

 //字符数组

image.png

   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));

image.png

   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));

image.png

   char arr[] = "abcdef";

image.png

   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));

image.png

   printf("%d\n", strlen(arr));

   printf("%d\n", strlen(arr + 0));

   printf("%d\n", strlen(*arr));//error

   printf("%d\n", strlen(arr[1]));//error

   printf("%d\n", strlen(&arr));

   printf("%d\n", strlen(&arr + 1));

   printf("%d\n", strlen(&arr[0] + 1));

image.png

//指针存常量字符串

   char* p = "abcdef";

image.png

   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));

image.png

   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));

image.png

   //二维数组

   int a[3][4] = { 0 };

image.png

   printf("%d\n", sizeof(a));

   printf("%d\n", sizeof(a[0][0]));

   printf("%d\n", sizeof(a[0]));

   printf("%d\n", sizeof(a[0] + 1));

   printf("%d\n", sizeof(*(a[0] + 1)));

   printf("%d\n", sizeof(a + 1));

   printf("%d\n", sizeof(*(a + 1)));

   printf("%d\n", sizeof(&a[0] + 1));

   printf("%d\n", sizeof(*(&a[0] + 1)));

   printf("%d\n", sizeof(*a));

   printf("%d\n", sizeof(a[3]));  

image.png

   return 0;

}

相关文章
|
13天前
|
C语言
C语言指针——练习
C语言指针——练习
|
4天前
|
C++
多重指针:深入解析、应用与示例
多重指针:深入解析、应用与示例
|
4天前
|
C++
野指针与空指针:深入解析与防范策略
野指针与空指针:深入解析与防范策略
|
6天前
|
存储 程序员 C语言
C语言指针变量的深入解析与应用
C语言指针变量的深入解析与应用
12 0
|
6天前
|
存储 安全 C语言
C语言指针与一维数组的关系深度解析
C语言指针与一维数组的关系深度解析
14 0
指针与数组笔试题解析
指针与数组笔试题解析
指针和数组笔试题目解析
指针和数组笔试题目解析
|
15天前
|
算法 C语言
C语言进阶⑫(指针下)(指针和数组笔试题解析)(杨氏矩阵)(下)
C语言进阶⑫(指针下)(指针和数组笔试题解析)(杨氏矩阵)
9 0
|
11天前
|
移动开发 网络协议 安全
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
75 4
|
11天前
|
域名解析 网络协议 应用服务中间件
2024最新彩虹聚合DNS管理系统源码v1.3 全开源
聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:阿里云、腾讯云、华为云、西部数码、DNSLA、CloudFlare。 本系统支持多用户,每个用户可分配不同的域名解析权限;支持API接口,支持获取域名独立DNS控制面板登录链接,方便各种IDC系统对接。
64 0

推荐镜像

更多