C语言指针(一)

指针变量

指针变量的定义: 类型名 指针变量名 eg: int q,p;
指针变量的引用: & 变量名(&是取地址运算符) * 变量名(
是取值运算符)
指针变量的初始化: 类型说明符 *指针变量名=初始地址值;
指针的运算:指针加一,数字1不再代表十进制整数1,而是一个存储单元长度,一个存储单元长度具体占有多少空间,视指针变量的基本类型而定

main()
{
  int x,y;
  int *p; //*号只起标记的作用,用来说明所定义的变量是指针变量
  x=10;
  p= &x;
  y=*p; //* 用来获取指针变量所指向变量的内容
  printf("y=%d\n",y);    
}

(1).int *p 是表示指向整形变量的指针变量 (2).p=&x 是表示通过取地址符将变量x的地址赋给指针变量

指针与数组

指针和一维数组

c语言规定,数组名代表数组的首地址。如果需要指针指向数组,直接将数组名赋予指针变量即可。

int a[6],*pa;
pa=a;等价于pa=&a[0];

用指针访问数组元素

main()
{
  int a[5],*p,i;
  p=a;
  for(i=0;i<5;i++)
  scanf("%d",a+i);
  for(i=0;i<5;i++)
  printf("%d",*(a+i));
}

a+i 表示a所指向存储单元的下一个存储单元,即a[0],a[1],a[2],a[3],a[4]
*a等价于a[0] *(a+i)等价于a[a+i] 同样a等价于&a[0];a+i等价于&a[a+i];
a是指针常量,因此不能使用a++来对a进行移动

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,814评论 3 44
  • 前言:指针是 C语言一个重要概念,也是C 语言的一个重要特色。使程序简洁、紧凑、高效。指针乃是C之精华。 数据在内...
    潇湘候晨雪阅读 4,136评论 0 0
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 8,665评论 0 6
  • C语言指针的总结 1. 变量 不同类型的变量在内存中占据不同的字节空间。 内存中存储数据的最小基本单位是字节,每一...
    xx_cc阅读 9,365评论 11 39
  • 今天是老公30岁生日~婆婆早晨起来煮了长寿面,妈妈去早市采购了丰盛的食材,晚上一起在家吃了顿团圆饭。 因为是有宝宝...
    Lily5566阅读 2,795评论 0 0