- 博客(5)
- 收藏
- 关注
原创 c语言指针*p++,*(p++),(*p)++
1.c编译器认为和++的优先级一样,都是从右向左结合的所以++作用于p上。所以p++和*(p++)是等价的2,p++该表达式返回的是p,即p所指向的地址里所存的内容,并且指针p自增1(p+sizeof(*p)*1)3,(p)++该表达式返回的是p,然后指针p所指的数据自增1;#include<stdio.h>int main() {int a[5] = { 0,1,2,3,4 };int * p = NULL;p = a;printf("%d\n", (*p)++);//输出的
2021-10-30 14:34:27
681
原创 C语言--指针加减
指针加减一个整数指针变量的大小都是四个字节,指针加1,是加了一个指针所指向类型的大小,不是加指针变量的大小。#include <stdio.h>int main(){int m = 0;int *p;p=&m;printf("%p%p",p,p+1);//p+1的意思是p+sizeof(*p)*1 return 0;}指针-指针1,指针不适合做加法运算,一般用于减法运算2,指针做减法运算时,一定要指向同一个数组,相减结果是两个指针之间的元素的数目,而不是两个
2021-10-30 14:18:18
4540
1
转载 int * p =&a
首先来说一下和&,为了便于理解你可以认为,这里是取内容,&是取地址。我不讨论它们的区别,因为*p=&a这个形式一般是错的,常用的是p=&a。下面比较*p=a和p=&a。看图,图很详细。显然它们是等价的。然后比较*p=&a和p=&a;则这两种都是对指针变量的赋值,赋值有两种形式①先定义后赋值int a=3,p;(定义指针变量p)p=&a;(对指针变量取地址)②定义变量的同时赋值int a=3,*p=&a也就是说在赋
2021-10-28 21:09:48
596
原创 vscode调试——了解快捷键和作用
F9 创建和取消断点的重要作用。把光标放到要加断点的那一行按F9就行。F5 直接跳到下一个断点处,常和F9联用。F10 逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句,无法进入函数内部F11 逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最常用的)Ctrl+ F5 开始执行不调试,如果你想让程序直接运起来而不调试就可以直接使用。在调试过程中可以点上方的调试–>窗口...
2021-10-28 19:40:15
2332
1
原创 简单认识指针
1,初级指针什么是指针?指针就是编程语言中的对象,它的值直接指向存在电脑存储器中的一个地址。#include <stdio.h> int main(){int a = 10;int * p; //p是指针变量 , 指针就是变量用来存放地址的变量p = &a ; //拿到的是a 的四个字节中的第一个字节的地址//*p 的值就是10;int * p1;char *p2;double *p3;float * p4 ;printf("%d\n",sizeof(p1
2021-10-28 19:22:54
167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人