ch8_20.cpp
Upload User: gzy2011
Upload Date: 2021-02-09
Package Size: 20k
Code Size: 1k
Development Platform:

Visual C++

  1. //ch8_20.cpp
  2. #include"iostream.h"
  3. void print(char*[],int);
  4. void main(void)
  5. {
  6.  char *pn[]={"fred","barney","wilma","betty"};//指针数组pn
  7.  int num=sizeof(pn)/sizeof(char*);  //16/4
  8.  
  9.  print(pn,num);
  10. }
  11. void print(char* arr[],int len)
  12. {
  13.  for(int i=0;i<len;i++)
  14.  cout<<hex<<(int)arr[i]<<" "<<arr[i]<<endl;
  15.   //输出字符指针arr[i]就是输出字符串,如果要输出字符指针的地址值,应该将
  16.  // 字符指针强制转换为整型:(int)arr[i].
  17.  //输出的分别是各个字符串的首地址(首字符所在的地址)
  18.  cout<<endl;
  19.  for(i=0;i<len;i++)
  20.  cout<<hex<<&arr[i]<<" "<<endl;
  21.  //输出的是存放上面各个字符串首地址的内存地址(即为指向这些字符串的指针),
  22.  //它们是连续的排列在指针数组中,每个地址占4个字节
  23.  //参见p171图
  24. }