通过指针访问值之程序声明一个指针和一个变量,然后输出它们的地址和它们所含的值
2014-09-26 14:18
495 查看
注意:1间接运算符*可以访问指针所指向的变量值,这个运算符也称为取消引用运算符,应为它用于取消对指针的引用。
2.注意要初始化指针,int *p=NULL;
3.%p表示输出的是变量的地址,应使用输出格式说明符%p,它以16进制的格式输出内存地址
4
6用(void*)&pnumber将禁止编译器发出警告,应为%需要的是某种指针类型的变量,但&pnumber的类型是指向int指针的指针
此时指针占用了8个字节,地址包含16进制的数字,这是应为本例所用的计算机采用64位操作系统,且支持64位地址,一些编译器只支持32地址,此时的地址是32位的
2.注意要初始化指针,int *p=NULL;
3.%p表示输出的是变量的地址,应使用输出格式说明符%p,它以16进制的格式输出内存地址
4
格式符z和整数转换说明符一起使用,表示对应数字是一个size_t值。属于C99。 %ld 表示long型 5指针变量本身所占用的字节数只与编译器与操作系统有关是它指向的对象的类型无关
6用(void*)&pnumber将禁止编译器发出警告,应为%需要的是某种指针类型的变量,但&pnumber的类型是指向int指针的指针
#include <stdio.h> main(void){ int number=0; int *pnumber=NULL; number=10; printf("number's address:%p\n",&number); printf("number's value:%d\n\n",number); pnumber=&number; printf("pnumber's address:%p\n",&pnumber); printf("pnumber's value:%d\n",pnumber); printf("pnumber's size: %zd bytes\n",sizeof(pnumber)); printf("value pointed to:%d\n",*pnumber); return 0; }
此时指针占用了8个字节,地址包含16进制的数字,这是应为本例所用的计算机采用64位操作系统,且支持64位地址,一些编译器只支持32地址,此时的地址是32位的
相关文章推荐
- 用指针方法编写一个程序,输入3个整数,将它们按由小到大的顺序输出
- 一个班有n个学生,需要把每个学生的简单资料(姓名和学号)输入计算机保存。然后可以通过输入某一学生的姓名查找其有关资料。当输入一个姓名后程序就查找该班有无此学生,如果有,则输出他的姓名和学号,如果找不到
- 编写一个程序,在E盘下创建一个abc.txt的文本文档,通过输出流在文档内添加数据,然后在把abc.txt复制到F盘下
- 用字符指针变量指向一个字符串,然后输出字符及其长度
- 打印不同的数(编写一个程序,使用指针访问数组方式,读入十个数,输出其中不同的数,即一个数如果出现多次,只打印一次)
- // 编写一个程序,在E盘下创建一个abc.txt的文本文档,通过输出流在文档内添加数据,然后在把abc.txt复制到F盘下
- 关于VC6中基于对话框的程序,往Combox 添加一个CComboBox变量,然后程序编译运行,窗口不出现的问题
- C++指针之对未声明的地址进行访问
- 小程序:编写一个程序,将数组a中的相同的数据删除的只剩一个,然后输出;
- 华为:通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- C角度(一)——任何C程序,可理解为指针指向某一个字符,然后字符匹配
- 成员指针的运用续(地址与成员变量的输出)
- 6_8_2编写一个应用程序,该程序使用2个命令行参数,分别把值放在一个字符串和一个整形变量中,然后显示这些值
- 第六周项目四 指针改正了 一个函数中的变量生命仅限于在那个函数里面,在那个函数外面不能直接取地址
- C语言入门 指针通过交换变量地址交换变量值 源码
- 用带参数的宏交换两个参数的值,在程序中输入两个整数并将它们交换,然后输出交换后的值
- 通过vtable指针访问声明为private的虚函数
- 编写一个程序 把八个整数读入一个数组中 然后以相反的顺序打印它们
- Problem Description 求n个数的最小公倍数。 Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。 Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。 Sample
- 将十进制整形数转换成二进制,然后通过字符型输出 自己实现的一个简单的例子