- 论坛徽章:
- 0
|
- int main(int argc, char *argv[])
- {
- char *ptr = NULL;
- func(&ptr, int n); //ptr在func()子程序中动态申请
- .....
- }
- int func(char **ptr, int n)
- {
- char *p = NULL;
- if (!(*ptr = malloc(n * sizeof(char *)))) //ptr首先指向一个指针数组,大小为n,目的是实现char (*ptr)[n]功能
- exit(0);
- 现在是下面怎么给数组指针的各个元素赋值呢?
- 比如如下申请的内存:
- if (!(p = malloc( SIZE * sizeof(char)))
- exit(0);
- 怎样把p的值赋给(*ptr)[i]呢?
- (char *)((*ptr)[i[]) = p; //这样对吗???
- }
复制代码
还有就是主程序中的指针char *ptr,采用char *能行吗?
(现在我的问题已经解决了,是通在main中将char*ptr改为int *ptr;然后子程序就可以用强制类型转换来赋值了,但是还是想知道是不是char *ptr
这种形式有问题呢?) |
|