C语言指针总结

C语言指针总结_第1张图片

指针数组

#include 
const int MAX = 4;
int main ()
{
     
   const char *names[] = {
     
                   "Zara Ali",
                   "Hina Ali",
                   "Nuha Ali",
                   "Sara Ali",
   };
   int i = 0;
   for ( i = 0; i < MAX; i++)
 {
     
      printf("Value of names[%d] = %s\n", i, names[i] );
   }
   return 0;
}

指向指针的指针

#include 
int main ()
{
     
   int  V,*Pt1,**Pt2;
   V = 100;
   /* 获取 V 的地址 */
   Pt1 = &V;
   /* 使用运算符 & 获取 Pt1 的地址 */
   Pt2 = &Pt1;
   /* 使用 pptr 获取值 */
   printf("var = %d\n", V );
   printf("Pt1 = %p\n", Pt1 );
   printf("*Pt1 = %d\n", *Pt1 );
    printf("Pt2 = %p\n", Pt2 );
   printf("**Pt2 = %d\n", **Pt2);
   return 0;
}

指针传递给函数

#include 
/* 函数声明 */
double getAverage(int *arr, int size);
int main ()
{
     
   /* 带有 5 个元素的整型数组  */
   int balance[5] = {
     1000, 2, 3, 17, 50};
   double avg;
   /* 传递一个指向数组的指针作为参数 */
   avg = getAverage( balance, 5 ) ;
   /* 输出返回值  */
   printf("Average value is: %f\n", avg );
   return 0;
}
double getAverage(int *arr, int size)
{
     
  int    i, sum = 0;      
  double avg;          
  for (i = 0; i < size; ++i)
  {
     sum += arr[i]; }
  avg = (double)sum / size;
  return avg;
}

从函数返回指针

#include 
#include 
#include  
/* 要生成和返回随机数的函数 */
int * getRandom( )
{
     
   static int  r[10];
   int i;
   /* 设置种子 */
   srand( (unsigned)time( NULL ) );
   for ( i = 0; i < 10; ++i)
   {
     
      r[i] = rand();
      printf("%d\n", r[i] );
   }
   return r;
}
/* 要调用上面定义函数的主函数 */
int main ()
{
     
   /* 一个指向整数的指针 */
   int *p;
   int i;
   p = getRandom();
   for ( i = 0; i < 10; i++ )
   {
     
       printf("*(p + [%d]) : %d\n", i, *(p + i) );
   }
   return 0;
}

你可能感兴趣的:(C++,c++)