//
// main.c
// 指针
//
// Created by skythinking on 14-6-1.
// Copyright (c) 2014年 skythinking. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[])
{
char a=5;
printf("a的初始值是:%d\n",a);
//定义了一个指针变量b,而且b只能指向char类型的变量
char *b;
//让指针变量b指向a(即把a的地址值赋值给指针变量b)
b = &a;
//这里的*b代表:访问b中存储的地址对应的存储空间(也就是a的存储空间)
*b = 10; //相当于a=10
printf("改变后的a的值是:%d\n",a);
return 0;
}
/*
内存结构:地址值+存储空间
总结:1.指针就是,用一个指针变量比如b存储某个变量比如a的地址值,然后找到该指针变量b的存储空间(该储存空间存的就是a变量的地址值),通过*b就可以访问a的存储空间,也就是a的真实值,通过赋值运算符,就可以给变量a赋值,或改变a的值.
2.char *b = &a; //相当于定义了一个指针变量 char *b,然后在给这个指针变量赋值
3.指针变量是用来存储变量地址的,不能随便赋值一个常量,除非这个常量恰好是一个地址值,例如:char *b = 10;(x) 这样赋值是错误的
*/