C语言:指针 快来打我* 2022-03-25 21:14 329阅读 0赞 今天研究了一下午终于把指针研究明白了 #include<stdio.h> #include<stdlib.h> int main() { int a=5; int b=10; int *p; printf("&a...%p\n",&a); printf("&b...%p\n",&b); printf("&p...%p\n",&p); p = &a; printf("p...%p\n",p); printf("&p...%p\n", &p); printf("*p...%d\n",*p); *p = 10; printf("a...%d\n",a); system("pause"); } ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 1] 我觉得把这些弄懂,指针就算是弄明白了 还有 作为一个写代码的,真心觉得键盘真的很重要。笔记本键盘真心难受,还是机械键盘好用 -------------------- 原博:做二级有感——c指针的地址转换和数转换 这个博客真心不好用,今天我做了道题,发现之前理解的是错的,现写下总结 2020.2.6更新:这个博客自从改版了之后好用多了 #include<stdio.h> #include<stdlib.h> void swap(int *a, int *b) { printf("%d.........%d\n", a, b); int t, *tp; t = *a; *a = *b; *b = t; printf("%d.........%d\n", a, b); printf("%d,%d\n", *a, *b); tp = a; a = b; b = tp; printf("%d.........%d\n", a, b); printf("%d...%d\n",*a,*b); } int main() { int i = 3, j = 7, *p = &i, *q = &j; printf("%d.........%d\n", p, q); swap(p,q); printf("%d...%d...%d...%d\n",i,j, *p, *q); system("pause"); } ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 2] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 3] -------------------- 2020.2.6更新:当初并没有明白,同时想吐槽一下坑了我两年的大一学的C语言红皮书,写的什么鬼东西,不说人话! **指针是什么? 指针是一种保存变量地址的变量** 作为一个变量,应该有自己的家族,也就是类型 ***指针类型:由引用类型T派生的指针类型有时称为:“指向T的指针” (≧( ̄▽ ̄)>简单地说“指针类型”是不单独存在的,是由其他类型派生出来的,实际上存在的类型是:“指向int的指针类型”,“指向double的指针类型”***\* **指针类型的值:指内存的地址** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 4] 在A前加 & 可得到A的地址 在A前加 \* 可得到A指向的变量: 如:\*a=c 输出c的变量值 int \*a=0 正确 int \*a=3 错误 *(p+i) =p\[i\]; p++:先p++再*\*,因为\*与++平优先级,但从右往左看 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70]: /images/20220326/a957a0a20ab64fc292320ab9a78f577f.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 1]: /images/20220326/5414f23d19274d7f9e0f373283e26b1d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 2]: /images/20220326/8007cbfb36bc4fa39f7c61505c78ea9a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 3]: /images/20220326/d5a6b4a6eca3431d8f3158d9852afcf7.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMDI2Nzky_size_16_color_FFFFFF_t_70 4]: /images/20220326/63c0e5209c0f40f79fd35c51e8404577.png
相关 C语言指针 C语言指针 1、 指针概述: 1、指针是一种数据类型,占用内存空间。用来保存内存地址。 2、空指针: 标准定义了NULL指针,它作为一个特殊的指针变量, Bertha 。/ 2023年05月31日 07:56/ 0 赞/ 3 阅读
相关 【C语言】指针 50、指针变量用来记录地址数据 51、只有记录了有效地址的指针变量才可以使用 52、声明指针变量时需要在变量名称前写\ 53、指针变量名称前加\可以表示指针所捆绑的存储区 亦凉/ 2022年06月12日 04:49/ 0 赞/ 266 阅读
相关 c语言指针 //指针怎么用 // (区分两个概念,指针变量和指向内容,指针变量只保存一个地址值,在这个地址值对应的内存中具体存放的东西叫做指向内内容) 用变量 ╰半夏微凉°/ 2022年06月04日 08:58/ 0 赞/ 280 阅读
相关 C语言指针 C语言中,指针尤为重要。 1可以把指针看作是一个数据类型。 ![SouthEast][] 打印结果: ![SouthEast 1][] 2 在指针声 今天药忘吃喽~/ 2022年05月31日 03:39/ 0 赞/ 270 阅读
相关 C 语言指针 1、CPU 访问内存,是通过内存地址来读写内存数据的,CPU 与内存条硬件之间有个地址总线,CPU 通过地址总线将要访问/写入的内存地址告诉内存条。 2、对于 CPU 而言地 拼搏现实的明天。/ 2022年05月29日 01:54/ 0 赞/ 305 阅读
相关 C语言指针 1、指针的基本知识 (1)定义 int \p; (2)赋值 1) int a;int p=&a 2) int a ;int p; 喜欢ヅ旅行/ 2022年03月26日 05:22/ 0 赞/ 316 阅读
相关 C语言:指针 今天研究了一下午终于把指针研究明白了 include<stdio.h> include<stdlib.h> int main() { 快来打我*/ 2022年03月25日 21:14/ 0 赞/ 330 阅读
相关 C语言-指针 1.指针和指针变量 > 内存区的每一个字节都有编号,这就是地址 > 如果在程序中定义了一个变量,在对程序进行编译和运行时,系统就会给这个变量分配内存单元,并确 àì夳堔傛蜴生んèń/ 2022年01月26日 11:17/ 0 赞/ 377 阅读
相关 C语言指针 变量的地址 我们已经知道,内存变量简称变量,在C语言中,每定义一个变量,系统就会给变量分配一块内存,而内存是有地址的。如果把计算机的内存区域比喻成一个 小咪咪/ 2021年11月10日 23:06/ 0 赞/ 489 阅读
还没有评论,来说两句吧...