关于二维数组

来源:互联网 发布:光速网络网站 编辑:程序博客网 时间:2024/05/14 23:06
昨天花了一个晚上,把二维数组合和二重指针弄明白了。
    1、char **p,*pstr[5],str[5][20];
       用str为pstr分配地址,用malloc也行。
    2、for (i = 0; i < 5; i++)
            {
                scanf("%s", pstr[i]);
            }
       p=pstr;
    3、*(p+1),字符串,等于str[1]
       *p,字符串,等于str[0]
        p,存放指向第一维数组地址[0]的指针
        p+1,同上,指向第一维数组[1]的指针
        *p+1,第一个字符串的第二个字符的地址
        *p,第二个字符串的第一个字符的地址
        &p[0][0],第一个字符串的第一个字符的地址(不等于p)
        *(*p+3),字符串,第一个字符串的第4个字符
    4、二维数组的各元素是按顺序存放的,在另外一个位置存放着一个一维数组,标记了各元素的起始地址。
原创粉丝点击