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));
}
相关推荐
郝学胜_神的一滴1 小时前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt00115 小时前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾19 小时前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
один but you20 小时前
constexpr函数
c++
凡人叶枫20 小时前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫20 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
小胖xiaopangss21 小时前
BRpc使用
c++·rpc
-森屿安年-21 小时前
63. 不同路径 II
c++·算法·动态规划
chase_my_dream21 小时前
Cartographer详细讲解
c++·人工智能·自动驾驶
森G21 小时前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt