C语言学习笔记-----伊能C语言学习笔记---指针类型和指针所指向的类型不同时
2015-12-20 11:11
746 查看
#include<stdio.h>
#include<stdlib.h>
void main()
{
//指针的类型必须要与指针指向的类型一致,不一致,会出现,大小不一样,解析方式不一样
//指针类型double大于指针指向的类型int
//int num = 100;
//double *p = #
//printf("\n%x,%f\n", p, *p);
double db = 100.0;
int *p = &db;
printf("\n%x", p);
printf("\n%d\n", *p);
system("pause");
}
//运行结果:可以看到 地址可以正常打印,但是 读取指针指向内容时,发生错误。
/*3ef8ac, -92559592117433136000000000000000000000000000000000000000000000.000000
请按任意键继续. . .*/
#include<stdio.h>
#include<stdlib.h>
void main()
{
//当指针类型和指针指向的类型不同,但是他们所占据的字节数相同时,
/*
指针除了地址以外还有类型,类型决定了指向的数据大小,决定了数据的解析方式
类型决定了 :== 数据的大小 + 数据的解析方式
所以:
即使 地址相同,大小相同,也会出错。
*/
int num = 100;
float *p = #
printf("\n地址: %x\n", p);
printf("\n : %f\n", *p);
system("pause");
}
#include<stdlib.h>
void main()
{
//指针的类型必须要与指针指向的类型一致,不一致,会出现,大小不一样,解析方式不一样
//指针类型double大于指针指向的类型int
//int num = 100;
//double *p = #
//printf("\n%x,%f\n", p, *p);
double db = 100.0;
int *p = &db;
printf("\n%x", p);
printf("\n%d\n", *p);
system("pause");
}
//运行结果:可以看到 地址可以正常打印,但是 读取指针指向内容时,发生错误。
/*3ef8ac, -92559592117433136000000000000000000000000000000000000000000000.000000
请按任意键继续. . .*/
#include<stdio.h>
#include<stdlib.h>
void main()
{
//当指针类型和指针指向的类型不同,但是他们所占据的字节数相同时,
/*
指针除了地址以外还有类型,类型决定了指向的数据大小,决定了数据的解析方式
类型决定了 :== 数据的大小 + 数据的解析方式
所以:
即使 地址相同,大小相同,也会出错。
*/
int num = 100;
float *p = #
printf("\n地址: %x\n", p);
printf("\n : %f\n", *p);
system("pause");
}
相关文章推荐
- Effective C++ Item 29 为”异常安全”而努力是值得的
- C++ STL之set
- win8.1下无法运行vc++6.0的解决方法
- c++ 普通高精除高精
- 浅谈C++中的特殊函数初始化
- C/C++学习(七)单链表的头插法,尾插法,元素插入、删除和查找 .
- 解决win8/8.1系统不兼容Visual C++6.0的问题
- 把字符串转换成整数 (用位操作)
- 怎样在C++中获得完整的类型名称
- C语言递归调用2:猜数小游戏
- C++ list用法
- Sicily 1001. Alphacode
- 提取字符串中的数字-指针版本-(C语言描述)
- c++ note--二叉树的实现
- C++ primer(十四) 复制控制
- 在c++函数形参里引用临时变量出错,导致"no match for xxx"
- fibonacci数列C++语言多种实现
- error: Microsoft Visual C++ 9.0 is required (Unabl
- 2.变量和基本类型(c++)
- 1.快速入门(c++)