指针

来源:互联网 发布:linux shell编程实例 编辑:程序博客网 时间:2024/06/18 12:37

基本知识

  • 指针是一种特殊的变量,存放的是另一个变量的地址
  • 指针的类型是其所指向的变量的类型
  • 指针指向的是数组元素时,才进行算数运算或大小比较

联系

指针与数组

int a[6] = {0, 1, 2, 30, 40, 50};int* p = &a[0]; //a 与 &a[0] 等效,a+i 与 &a[i] 等效//数组名 a 是常量地址,指针 p 是变量printf("%d %d\n", p[2], *(p + 2)); //2 2//单目运算结合性自右至左printf("%d\n", *p++); //0printf("%d\n", *p); //1printf("%d\n", *++p); //2printf("%d\n", *p); //2printf("%d\n", (*p)++); //2printf("%d\n", *p); //3printf("%d\n", ++(*p)); //4printf("%d\n", *p); //4

指针与结构

typedef struct time{    int year;    int month;    int day;}data;int main(){    data tomorrow = {2017, 9, 22}, today;    data* oneDay;    oneDay = &today;    today.year = 2017;    (*oneDay).month = 9;    oneDay->day = 21; //三种方式等价    printf("%04d %02d %02d", today.year, today.month, today.day); //2017 09 21    return 0;}
原创粉丝点击