指针与数组,

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lkj582059/article/details/84411539

指针与数组:
指针与一维数组
 定义
 int a[6]={1,2,3,4,5,6},*p;
 p=a;或p=&a[0]; //使指针p指向a[0]
 引用:
 *a=a[0]=1;*(a+3)=a[4]=4;  //指针引用第一个和第四个值
 
 一维数组做参数
 求数组元素的和
 #include<stdio.h>
 int sum(int *b,int n){
  int m=0,*p;
  for(p=b;p<b+6;p++)
   m+=*p;
  return m;
 }
 int main(){
  int a[6],s,i;
  printf("please input data:\n");
  for(i=0;i<6;i++)
   scanf("%d",&a[i]);
  s=sum(a,6);
  printf("s=%d\n",s);
 }
 
指针和二维数组
 定义
 元素指针
  每个元素的地址即为元素指针
  a[i][j]元素指针可用&a[i][j]或用a[i]+j表示。
  a[0]指向a[0][0],a[0]+1指向a[0][1]
 行指针
  数组中每一行的地址即为行指针。行指针指向的是整个一行。
  数组名+1,即a+1指向数组元素的第二行
  int (*p)[4]  //表示p是行指针变量,其行长度为4个int型元素
  int a[3][4],(*p)[4];
  p=a;
  用行指针p表示数组元素a[i][j]地址的三种形式:&p[i][j],*(p+i)+j,p[i]+j。也可以用数组名&a[i][j],*(p+i)+j,a[i]+j
  
字符串和指针
 定义:
 char *s="Hello.EveryOne";
 或 char *s;s="hello,everyone";
 字符串以\0结束*a!='\0'来判断字符串是否结束
 strcpy(s1,s2);//字符串拷贝函数。
 strcmp(s1,s2);//比较字符串大小
 strlen(s);//返回字符串长度,不计\0
 strcat(s1,s2);//字符串连接函数

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页