02-指针代码示例

视频地址:

数组作为函数参数_哔哩哔哩_bilibili

指针是一个变量,用来存放其他变量的地址.

一、语法角度说:

需要用整形变量的指针,去存储一个整形变量的地址.

二、代码部分:

(一) 1.指针赋值

复制代码
int main(int argc, const char* argv[]) 
{
    int a;
    int* p;
    //这里要赋值,给指针初始化
    //直接打印地址, 会打印出来一个随机值.
    //并且这个值运行都会分配新的地址, 出来一个随机值(栈上分分配的内存)
    a = 10;
    p = &a;
    printf("a = %d\n", a);
    *p = 12;//解引用 //用指针p去修改a的值的方式
    printf("a = %d\n", a);
}

(二) 利用指针p去修改a的值的方式:

复制代码
int main(int argc, const char* argv[])
{
	int a; int* p;
	a = 10;
	p = &a;
	printf("Address of P is %d\n", p);
	printf("Value at p is %d\n", *p);
	
	int b = 20;
	*p = b;
	printf("Address of P is %d\n", p);
	printf("Value at p is %d\n", *p);
}

(三) 指针的算数运算:

复制代码
#include <stdio.h>

int main(int argc, const char* argv[]) 
{
    int a = 10;
    int* p;
    p = &a;
    //指向整形类型的指针
    //值为: 指针地址
    printf("Address p is %d\n", p);
    printf("value at address p is %d\n", *p);//指针地址中的值
    printf("size of integer is %d bytes\n", sizeof(int));//int的大小
    printf("Address p+1 is %d\n", p + 1);//移动到下一个指针地址 int移动4位
    //不能这么写  因为会出现垃圾值, 没有为这个特定的内存地址分配一个整形变量
    printf("Value at address p+1 is %d\n", *(p + 1));
}
相关推荐
雾岛听蓝11 小时前
C++ 类和对象(一):从概念到实践,吃透类的核心基础
开发语言·c++·经验分享·笔记
Dream it possible!12 小时前
LeetCode 面试经典 150_图_克隆图(90_133_C++_中等)(深度优先:DFS)
c++·leetcode·面试·
鸭子程序员13 小时前
c++ 算法
开发语言·c++·算法
不会c嘎嘎13 小时前
算法百练,直击OFFER -- day5
c++·算法
序属秋秋秋13 小时前
《Linux系统编程之进程环境》【环境变量】
linux·运维·服务器·c语言·c++·操作系统·系统编程
乌萨奇也要立志学C++13 小时前
【洛谷】二分查找专题 告别二分死循环!模板 + 细节 + 实战
c++·算法
Rock_yzh13 小时前
LeetCode算法刷题——128. 最长连续序列
数据结构·c++·算法·哈希算法
wheeldown14 小时前
【Rokid+CXR-M】基于Rokid CXR-M SDK的博物馆AR导览系统开发全解析
c++·人工智能·ar
利刃大大14 小时前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别
晨非辰14 小时前
C++ 波澜壮阔 40 年:从基础I/O到函数重载与引用的完整构建
运维·c++·人工智能·后端·python·深度学习·c++40周年