C语言指针、函数与加密程序全解析
1. 指针基础:非地址值赋值与间接操作
在C语言里,若不进行类型转换就把非地址值(像数字或者字符)赋给指针,编译时会出错。不过,借助间接运算符(*)就能把非地址值赋给指针。
示例代码如下:
#include <stdio.h>
main()
{
int x = 5;
int *iPtr;
iPtr = &x; //iPtr被赋值为x的地址
*iPtr = 7; //x的值被间接改为7
}
此程序先把变量x的内存地址赋给指针变量iPtr,接着间接把整数值7赋给变量x。
2. 打印指针变量内容
为验证间接引用概念,可使用%p转换说明符来打印指针和非指针变量的内存地址。
示例代码:
#include <stdio.h>
main()
{
int x = 1;
int *iPtr;
iPtr = &x;
*iPtr = 5;
printf("\n*iPtr = %p\n&x = %p\n", iPtr, &x);
}
该程序用%p转换说明符打印指针和整数变量的内存地址,指针变量包含的内存地址(十六进制格式)和整数变量x相同。
再看一个示例:
#include <stdio.h&
超级会员免费看
订阅专栏 解锁全文
64

被折叠的 条评论
为什么被折叠?



