精华内容
下载资源
问答
  • 指针数组赋值问题

    2019-09-19 04:00:39
    指针没有分配空间 c: malloc #include #include int main() { char *ch1[2]; int i; char **p; p=ch1; for(i=0;i;i++) { ch1[i] = (char*)malloc(10); scanf("%s",*(p+i)); } for(i=0;i;i+...
    小学弟的一个问题,不错额
    #include<stdio.h>
    void main()
    {
    char *ch1[5];
    int i;
    char **p;
    p=ch1;
    for(i=0;i<5;i++)
    scanf("%s",p+i);
    for(i=0;i<5;i++)
    printf("%s",*(p+i));
    }

    指针没有分配空间

    c:

    malloc

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	char *ch1[2];
    	int i;
    	char **p;
    	p=ch1;
    	for(i=0;i<2;i++)
    	{
    		ch1[i] = (char*)malloc(10);
    		scanf("%s",*(p+i));	
    	}
    	for(i=0;i<2;i++)
    		printf("%s\n",*(p+i));
    }
    c++:
    #include <iostream>
    using namespace std;
     
    int main()
    {
        char *p[3];
        for(int i=0;i<3;i++)
        {
            p[i] =new char [3]; // 
            scanf("%s",p[i]);
            cout <<p[i]<<endl;
        }
        return 1;
    }


    也可以用一个二维数组,用来初始化:

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	char *ch1[2];
    	int i;
    	char **p;
    	p=ch1;
    	char a[2][10];
    	for(i=0;i<2;i++)
    	{
    		ch1[i] = a[i];
    		scanf("%s",*(p+i));	
    	}
    	for(i=0;i<2;i++)
    		printf("%s\n",*(p+i));
    }
    



    转载于:https://my.oschina.net/N3verL4nd/blog/866875

    展开全文
  • 有两个指针数组,char *A[10] , char * B[10]; 首先: memcpy(A,B,10); 然后调用一个函数,其形参是一个指针数组,在这个函数里面是用strtok函数对字符串进行分割,比如传入的是A。为什么这个函数执行完了之后,B中...
  • 这个赋值语句,数组arr的4个空间存储的是变量i的内存地址,都是相同的地址。 为什么最后从arr[i]指向的地址取出来的真实值却是0,1,2,3。 不应该都是4吗? ![图片说明]...
  • char数组和char指针数组赋值的区别

    千次阅读 2018-12-11 09:27:42
    这种方式是定义了一个字符型指针,指向常量字符串&quot;abcde&quot;,可认为编译器做了下面的事情:在常量区分配6个字节,分别放上a,b,c,d,e,\0,然后把a的地址返回给p。 char p[]=“abcde”; 这种方式...

    char *p=“abcde”;
    这种方式是定义了一个字符型指针,指向常量字符串"abcde",可认为编译器做了下面的事情:在常量区分配6个字节,分别放上a,b,c,d,e,\0,然后把a的地址返回给p。

    char p[]=“abcde”;
    这种方式是定义了一个字符数组,其长度自动设置为"abcde"。

    第一种指向了常量区,无法修改内容。
    第二种定义了普通的数组变量,放在栈中,可以修改。

    展开全文
  • 指针数组赋值

    2012-08-08 21:44:48
    现在想给指针数组赋值,每个成员都为NULL char *a = new char[20]; for(int i = 0; i < 20; i++){ a + i = NULL } 报错,说等号左边要是左值??? 怎么给以指针数组每个成员都赋值为null
  • 对结构体中的字符串指针数组赋值

    千次阅读 2018-08-20 15:56:52
    ////pload必须要有指向,否则为野指针 char *ch; char *p; for(i=0;i;i++) { pload->str[i] = (char *)malloc(sizeof(char)*20);//分配空间 scanf("%s",pload->str[i]); } for(i=0;i;i++) printf("%s\n...
    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct student
    {
    	char name[20];
    	char num[20];
    	char *str[3];
    }STU,*PSTU;
    
    int main(void)
    {
    	int i;
    	STU s;               
    	PSTU pload;         
    	pload = &s;        pload必须要有指向,否则为野指针
    	char *ch;
    	char *p;
    	for(i=0;i<2;i++)
    	{
    		pload->str[i] = (char *)malloc(sizeof(char)*20);//分配空间
    		scanf("%s",pload->str[i]);
    	}
    	for(i=0;i<2;i++)
    	printf("%s\n",pload->str[i]);
    }
    
    展开全文
  • 帮忙看一下这段代码,有什么错误啊? char *sname[]={}; int k=0; for(i=0;i<20;i++) { char name[128]=""; name=get_name();//这个函数是获得字符串name的 sname[k++]=(char *)malloc(512);...}
  • 程序代码: #include #include int main() {  int *PArray = NULL;  int Total = 0,i = 0;... printf("输入数组中元素的个数:\n");  scanf("%d",&Total);  PArray=(int *)malloc(Total*sizeof(int)
    程序代码:
    #include <stdio.h>
    #include <stdlib.h>


    int main()
    {
        int *PArray = NULL;
        int Total = 0,i = 0;


        printf("输入数组中元素的个数:\n");
        scanf("%d",&Total);
        PArray=(int *)malloc(Total*sizeof(int));
        for(i=0;i<Total;i++)
            scanf("%d",PArray++);
       
        for(i=0;i<Total;i++,PArray++)
            printf("%d",*PArray);
       
       
        printf("\n");


       
        return 0;
    }//想请教这样给指针数组赋值存在什么问题?为什么输出会出错?
    展开全文
  • 先上代码吧: #include #include using namespace std ; int replacefun(char* str, char c1, char c2);... char * p = "I love you China, do you love me?... // 用指针的形式定义一个字符数组 int m = 0; m
  • char *s1="4354*?????dd"; int len=strlen(s1); for (int i=0;i<len;i++) { s1[i]='A'; //出错代码 } printf("s1=%s",s1); 编译没错,运行时报访问冲突.... 把 char *s1="4354*?...就没问题了....
  • 在c语言中,可以给一个数组直接赋值字符串,像下面的形式:char yijuhua[ ] = "必须是一串常量字符吗?" ,请看下面的代码—— [#include "stdio.h" char *dapu[4]; void main() { int a=3,b=2; dapu[0]=...
  • 程序如下: ``` #include #include main() { char *a[2]; char *d; printf("请输入两个字符串:"); scanf("%s%s",a[0],a[1]); if(strcmp(a[0],a[1])>0) {d=a[0];a[0]=a[1];a[1]=d;} printf("%s\n",a);...
  • //p为一个指针,指向一个包含三个char型指针数组。 void change1(char *p[]); int main(int arg, char *args[]) { int i = 0; char *a[3]; change(&a); for (i = 0; i ; i++) { printf("%s\n", a[i]); ...
  • #include<stdio.h> #define M 5 int main(int argc, char* argv[]) { int n=4; char *a[M]; for(int i=0;...请问下 我这样给指针数组赋值对吗 不对的话 那指针数组是怎么赋值的啊?
  • char* STR_CHOICE_D[50]; U8 str[70]; ...//也就是所有数组都保存着最后一个字符串,我猜是因为str赋值给STR_CHOICE_D[i]的时候赋的是地址,所有下标都指向的同一个地址 怎么解决这个问题?
  • //lines是一个指针,它指向一个数组数组的大小是MAX_BUS_NUM,数组的元素是BusInfo *类型 BusInfo *line=NULL,*q;//这是定义 for(j=0;j<line->stopnum;j++){ printf("%d%s%d%d\n"); gets(line->...
  • 定义一个结构体 struct AS { char *p[1]; }; 怎样用gets函数给指针数组赋值呢?
  • 其次定义函数指针数组,并给数组赋值。 void (*fun[256])(void);fun[0] = function0;…….fun[255] = function(); 最后,MyFunction()函数可以修改如下: void MyFuntion( char* buffer, int length ){ __int8 ...
  • /*指针表示数组赋值问题 void main() { int s[6][6],j,k; for(j=0;j<6;j++) for(k=0;k<6;k++) *(*(s+j)+k)=j-k;//s[j][k]=j-k;反对角矩阵 //s表示s[0]的首地址 //s+1表示s[1]的首地址 //s+j...
  • //如何把一个二维数组赋值给二维指针,[3]是写死的规定。 调用这个变量和定义这个变量含义不同,C语言缺点,不能返回数组。 int a = *(*(pArr + 1) + 2); int b = *(*(iArr + 1) + 2); return 0; }
  • } 6、数组赋值 若有一个二维数组a[M][N],定义一个指针变量int *p;将二维数组的某一行的首地址赋予p有3种方式: p = a[M]; p = &a[M]; p = &a[M][0]; 7、指向多维数组的指针变量 (1)p++:相当于(p++),因为++...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,344
精华内容 2,137
关键字:

指针数组赋值