第08天C语言(14):指针为什么要分类型
2017-07-10 本文已影响32人
liyuhong
一、概念
/*
指针为什么要分类型?
因为当我们利用指针 去取值的时候, 系统就会自动根据指针的类型来确定 应该去多少个字节中的值
*/
二、代码
#include <stdio.h>
int main()
{
/*
char *cp;
int *ip;
double *dp;
double **dpp;
// Mac系统中的指针 无论是什么类型, 几级真正都占用8个字节
// 由于Mac是64位了, 32 = 4 * 8; 64 / 8 = 8;
printf("cp = %lu,ip = %lu,dp = %lu,dpp = %lu\n",sizeof(cp),sizeof(ip),sizeof(dp),sizeof(dpp));
*/
/*
11001110
00000100
00000000
00000000
*/
int intValue = 1230;
/*
00110001 = 49
*/
char charValue = '1';
/*
内存存放的
00110001
11001110
00000100
00000000
00000000
// 指针为什么要分类型?
// 因为当我们利用指针 去取值的时候, 系统就会自动根据指针的类型来确定 应该去多少个字节中的值
int *charValueP; // 取四个字节
00000000 00000100 11001110 00110001 = 314929
*/
/*
int *charValueP;
charValueP = &charValue;
printf("%i\n",*charValueP);
printf("%i\n",0b00000000000001001100111000110001);
*/
char *p = &intValue;
printf("%i\n",*p); // 11001110
return 0;
}