指针
231字小于1分钟
2024-09-18
指针
#include <stdio.h>
int main(){
int a = 10;
// ↓ 读取出内存地址
int * p = &a;
printf("a在内存中的地址 %p",p);
// ↓ 解引用, 读取变量中的值
int b = *p;
printf("内存中的地址 %p 的值为 %d",p,b);
// 修改内存地址上的值
*p = 666;
int c = *p;
printf("内存中的地址 %p 的值为 %d",p,c);
}
交换变量
#include <stdio.h>
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a = 10;
int b = 20;
swap(&a, &b);
printf("%d %d", a, b);
}
定义变量
#include <stdio.h>
int main()
{
// 定义一个空指针必须设置为NULL,否则位置不确定会导致问题
int* a = NULL;
}
禁止修改指针
#include <stdio.h>
int main()
{
int a = 10;
//↓ 禁止修改值,但是可以修改地址
const int *p = &a;
//↓ 禁止修改地址,但是可以修改值
int const *p = &a;
}