指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样
常用的符号:*代表取该地址的值,而&表示取该值的地址。最好把复合的语句拆开来看,比较容易理解。像 int *a=&b; 这种,拆成
int * a;
a=&b;
就好理解了。
#include <stdio.h>
int main ()
{
int var = 20; /* 实际变量的声明 */
int *ip; /* 指针变量的声明 */
ip = &var; /* 在指针变量中存储 var 的地址 */
printf("Address of var variable: %p\n", &var );
/* 在指针变量中存储的地址 */
printf("Address stored in ip variable: %p\n", ip );
/* 使用指针访问值 */
printf("Value of *ip variable: %d\n", *ip );
return 0;
}
一些额外的知识点:
数组指针和指针数组;
指向指针的指针;
void指针和NULL指针;
指针函数和函数指针。