转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/53471333
本文出自:【顾林海的博客】
前言
终于到了指针部分了,指针在c语言中起着非常重要的作用,在计算机内存中的每个位置都由一个地址标示,通常,领近的内存位置合成一组,这样就允许存储更大范围的值。指针就是它的值,标示内存地址的变量。
指针
#include "stdio.h"
int main(int argc, const char * argv[]) {
int number=20;
printf("number变量的地址: %p\n",&number);
return 0;
}
程序中创建了一个变量number,变量的地址是指内存中的某个位置,该位置保存着变量的值,通过&运算符可以获取变量的地址,%p是针对内存地址的格式说明符。
输出结果:
number变量的地址: 0x7fff5fbff7fc
指针变量的声明,可以通过以下格式:
int *number;
这里的number是变量,是指向某个整数变量的指针。number本身不保存整数变量的值,而是指向某个地址,该地址对应的是保存整数的内存,如下程序:
#include "stdio.h"
int main(int argc, const char * argv[]) {
int count=5;
int *number;
number=&count;
printf("number变量的地址: %p\n",&number);
return 0;
}
先是声明一个int类型的变量count并初始化为5,接着声明了一个变量名为number的指针变量,最后将count变量在内存中所在的地址(&count)赋给了number这个指针变量。
输出结果:
number变量的地址: 0x7fff5fbff7f0
使用*运算符,可以访问保存在某个地址中的数据,如下程序:
#include "stdio.h"
int main(int argc, const char * argv[]) {
int count=5;
int *number;
number=&count;
printf(“number= %d\n",*number);
return 0;
}
输出:
number= 5