首页 > 其他分享 >二维字符串数组的传参时与指针互转时的问题

二维字符串数组的传参时与指针互转时的问题

时间:2024-04-12 16:15:09浏览次数:21  
标签:int 二维 char dest 参时 result 数组 互转 指针

  1. 二维数组如何传参

二维字符串数组,转char**会导致的问题,以及编译报错

要想得到正确的结果,需要按如下方式去写传参:

#include <stdio.h>
#include <string.h>

//int char_arr_copy(char **dest) //这样定义传参类型将导致编译报错,在低版本的编译器下或者没有报错但是得不到正确结果
int char_arr_copy(char dest[][20])
{
    strcpy(dest[0],"123");
    strcpy(dest[1],"456");
    strcpy(dest[2],"789");
    return 3;
}
int main()
{
    char result[10][20]; 
    memset(result, 0, sizeof(result));
    int num = char_arr_copy(result);
    for(int i = 0; i < num; i++)
    {
        printf("%s\n",result[i]);
    }
    return 0;
}

2.二维数组变量名与char **区别

标签:int,二维,char,dest,参时,result,数组,互转,指针
From: https://www.cnblogs.com/HuangLiDi/p/18131516

相关文章

  • C++ 引用和指针:内存地址、创建方法及应用解析
    C++引用和指针创建引用引用变量是对现有变量的“别名”,它是使用&运算符创建的:stringfood="Pizza";//食物变量string&meal=food;//对food的引用现在,我们可以使用变量名food或引用名meal来引用食物变量:cout<<food<<"\n";//输出Pizzacout<<mea......
  • C语言09-指针(指针数组、数组指针、字符指针),值传递和引用传递,指针和函数,注释写法
    第12章指针pointer12.3指针和数组①数组名可以把数组名当做是存储了首元素地址的常量。//arr的类型表示为int[5]intarr[5]={10,20,30,40,50};②指针数组指针数组(PointerArray)是一个数组,其中的每个元素都是指针。intnum1=10,num2=20,num3=30;//ptr_......
  • 输入流和字符串互转InputStream2String和String2InputStream
    输入流转字符串12345678910111213141516171819public static StringInputStream2String(InputStreamin){    InputStreamReaderreader= null;    try {        reader= new InputStreamReader(in, "UTF-8");   ......
  • 嵌入式之指针、数组、函数篇(三)
    三、指针、数组、函数1.什么是指针?指针其实也是个变量,只不过这个变量里面存储的是内存地址。2.什么是指针的类型?举个例子:int*a;指针类型为int*char*c;指针类型为char*3.什么是指针所指向类型举个例子:int*a;指针指向类型为intchar*c;指针指向类型为char注......
  • C语言—指针变量作函参改错
    下面程序用于将6个数按输入时顺序的逆序进行排列。找出其中错误,并改正之。#include<stdio.h>voidSwap(int*x,int*y){    int*temp;    temp=x;    x=y;        y=temp;}voidSort(char*p,intm){  inti;  charchange,......
  • 【C语言】无废话指针
    一、初识指针1.1概念及演示指针就是地址,指针变量就是存放地址的变量(你可将地址理解为门牌号,找到门牌号就找到了你要找的人) 示意代码如下: inta=10; int*p=&a;//用p指向a的地址,a的类型是(int)所以p的类型是(int*) printf("a的地址:%p\n",p);//用%p打印当前p的地址 i......
  • C语言08-函数(递归、字符串、日期时间、数学计算函数),指针
    第11章函数11.7递归函数​ ——相当于俄罗斯套娃;一个程序未执行结束会挂起,相当于堆栈一个函数在函数体内又调用了本身,我们称为递归调用,这样的函数就是递归函数。递归函数成功执行需满足以下两个条件:(1)必须有一个明显的结束条件。(2)必须有一个趋近于结束条件的趋势......
  • this指针
    参考博文:https://www.cnblogs.com/zhxmdefj/p/11572570类的所有成员都必须在类内部声明,但是成员函数体可以定义在外部。定义在类内部的函数是隐式的inline函数inline函数,即为调用时“内联地”展开的函数,也就是就说:调用时,并不通过函数调用的机制,而是通过将函数体直接插入调用处......
  • 56、二级指针
    指针是指针变量的简称,也是变量,是变量就有地址。指针用于存放普通变量的地址。二级指针用于存放指针变量的地址。声明二级指针的语法:数据类型**指针名;使用指针有两个目的:1)传递地址;2)存放动态分配的内存的地址。在函数中,如果传递普通变量的地址,形参用指针;传递指针的地址,形......
  • C语言:指针详解(2)
    目录一、数组名的理解二、使用指针访问数组三、一维数组传参的本质四、冒泡排序五、二级指针六、指针数组正文开始一、数组名的理解在上一篇博客中我们在使用指针访问数组的内容时有这样的代码:intarr[10]={1,2,3,4,5,6,7,8,9,10};int*p=&arr[0];这里我......