然后在调用时这样:
char str[10];int n;char tmp[20];
GetPra(str,n,tmp);
我看到别人的代码是这样写的,编译没问题,所以有点疑惑,不是函数定义了参数要求是指针型么,求高人指点。。
5 个解决方案
#1
GetPra(str,&n,tmp);
同时保证str和tmp的空间要够
同时保证str和tmp的空间要够
#2
c 语言,几乎 数组,指针不分家
int a[2], *p;
p=a; // 这样ok, 可见指针可以被赋值数组名。 但反过来,不行
int a[2], *p;
p=a; // 这样ok, 可见指针可以被赋值数组名。 但反过来,不行
#3
就是说地址传递给GetPra 这个N估计是这两个数组的某个数组的大小, 因为作为指针传递后的数组,它的大小会被丢弃,所以容易溢出错误或者越界访问未知目标 返回一个 INT *
#4
呵呵,数组名可以看作是const指针。本身不可以修改,但是把指的内容可以修改。
#5
就算数组作为函数参数是当作指针来处理的,但整型数据总不能当整型指针吧。。。为还是能够通过编译呢
#1
GetPra(str,&n,tmp);
同时保证str和tmp的空间要够
同时保证str和tmp的空间要够
#2
c 语言,几乎 数组,指针不分家
int a[2], *p;
p=a; // 这样ok, 可见指针可以被赋值数组名。 但反过来,不行
int a[2], *p;
p=a; // 这样ok, 可见指针可以被赋值数组名。 但反过来,不行
#3
就是说地址传递给GetPra 这个N估计是这两个数组的某个数组的大小, 因为作为指针传递后的数组,它的大小会被丢弃,所以容易溢出错误或者越界访问未知目标 返回一个 INT *
#4
呵呵,数组名可以看作是const指针。本身不可以修改,但是把指的内容可以修改。
#5
就算数组作为函数参数是当作指针来处理的,但整型数据总不能当整型指针吧。。。为还是能够通过编译呢