字符二维数组char[][]与char**

原创 2013年11月18日 19:20:53

在C代码中, 很容易在函数库中见到类似如下函数原型的声明:

void f(char** str_list);

于是, 有的程序员就写了如下的调用代码:

#define SIZE 100
char a[SIZE][SIZE];
f(a);

这个时候可要小心了, 调用f函数的方式是错误的.

如果你是实现f函数的程序员, 你会认为参数str_list实际指向的是什么呢:

str_list是一个指针1, 指向另一个指针2, 指针2指向char类型的变量.

++a; 偏移SIZE*sizeof(char)个字节;

++a[0]; 偏移1个字节;

++str_list; 偏移sizeof(char*)个字节; str_list[0]的值是一个指针, 该值是由a[0][0]~a[0][7]组成的(假设char*占8个字节).

++(*str_list); 偏移1个字节;


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/njnu_mjn/article/details/16808395

C#之“数组”精讲课程

数组的基本介绍、数组的定义和初始化、数组元素的访问、数组的遍历、数组的案例分析。二维数组的定义和初始化、二维数组的元素访问、二维数组的遍历、二维数组的案例讨论。交错数组的定义和初始化、遍历、交错数据的案例应用。
  • 2017年05月19日 14:40

C语言中二维字符数组的定义和初始化

  • huangzheguyun
  • huangzheguyun
  • 2009-05-31 17:30:00
  • 59130

使用char **ptr实现一个动态二维数组

使用char **ptr实现一个动态二维数组,方便使用: class Matrix     { protected: int lines,columns;   char** ptr;        p...
  • cuishumao
  • cuishumao
  • 2013-08-15 17:34:14
  • 1015

二维char数组与二维char指针

char**的内存结构可以看成有多个连续的char*类型的元素构成,而二维字符数组是由M*N个字符组成。 1. 以下函数将出现段错误: #include #define M 2 #d...
  • linuxdriverdeveloper
  • linuxdriverdeveloper
  • 2012-06-18 11:29:43
  • 7527

C++ 用new 动态创建多维数组

我们知道 char *a=new char[10];可以创建一个长度为10的数组。当把定值10换为一个变量时,我们的程序也没有任何问题,这时可成了名副其实的动态创建数组,如:int n=10;char...
  • gabby1985
  • gabby1985
  • 2006-05-11 18:13:00
  • 38782

二维指针和二维数组的区别

1、定义指向数组的指针,需要指定数组的列 char arr[][3]或char (*arr)[3];//二维数组本质上是一维数组 *p[3]指针数组;数组的每一个元素都是指针 **p二维指针;指...
  • llq108
  • llq108
  • 2015-04-12 13:57:40
  • 1743

二维数组,字符串数组

二维数组: 二维数组定义时,第一维下标可以省略(行数可以省略),但是第二维下标必须制定,(列数必须要给,列数时换行的一个标准) int a[][3] = {1,2,3,4,5,6, 7}; ...
  • cuichengjie
  • cuichengjie
  • 2014-08-14 14:43:47
  • 3510

C++实现二维字符串数组

最近有个需求,要利用c++实现一个二维的字符串数组,网上查了下,竟然没找到 因为c++的string用起来感觉非常繁琐,所以还是决定利用char型指针来做这个功能 思路是二维数组里存的都是一维数组...
  • lindir
  • lindir
  • 2016-09-06 13:41:35
  • 5866

C语言 字符串指针与二维字符串数组

31.字符串指针 char *str = "hello world";    //hello world这个字符串存储在常量区,str只保存了字符串常量的首地址 字符串指针变量的定义说明与指向字符...
  • heyuze07
  • heyuze07
  • 2015-08-25 15:02:18
  • 4989

——黑马程序员——C语言中二维数组、字符数组和字符串

-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------
  • yhp1095785221
  • yhp1095785221
  • 2015-11-01 11:19:54
  • 2698
收藏助手
不良信息举报
您举报文章:字符二维数组char[][]与char**
举报原因:
原因补充:

(最多只允许输入30个字)