c语言传入数组指针,C 数组指针 传递

1,C 数组指针 传递#includef(char (*p)[5]) {} main() {char (*p)[5]; f(p); }#includevoid main() {char (*p)[5]; int i=0; *p[i++]; }
2,C语言如何从文件中把数据读入指针数组代码如下int main() // 假设buf空间足够大#define max_buf 256char arr[max_buf]=FILE*fp;fp=fopen("data.txt","r");read(arr, 1, max_buf, fp);// 读取 1 * max_buf 个字节fclose(fp);}
3,c语言问题如何将一个数据写进一个指向数组的指针曾经我也是菜鸟╮(╯▽╰)╭1.p指向的数组的首地址2.其实定义一个数组int a[5] 实际a就是一个指向a[0]这个元素的int类型指针变量 当然 正儿八经应该叫数组名3.*p指的是a[0] 等价于*a*p=50;就是a[0]=50;4.如果要对后面元素赋值 比如说a[3]*(p+3)=50; 也就是说(p+3)指向的是a[3]p=a 直接这么写 数组名就是地址把scanf("%d\n",a[i]);改成scanf("%d",&a[i]);或scanf("%d",a+i);就ok了……就是*p=50;之后你再写一句printf("%d",a[5]);就应该会输出50了【c语言传入数组指针,C 数组指针 传递】
4,C语言中向一个函数传递一个数组函数中定义一个指针变量请问这指针传递到函数后 , 函数可以像用数组一样使用它,比如你传入的是int *a,如果数组大小为n , 那么就可以for(int i=0;i<n;i++)dd = a[i];来访问数组中的元素值了!给你写了一个例子:#include "stdio.h"void printArr(int *p,int n) int i=0; for(i=0;i<n;i++)printf("%d",*(p+i));}void main()int a[10]= printArr(a,10);}c语言不允许那样定义数组,你必须得先声明数组的大小 。或者可以写成下面的形式:int size;scanf("%d",&size); int *a=(int *)malloc(sizeof(int)*size); for(i = 0;i{ scanf("%d",a+i); } func(a,size)5 , C语言字符串数组指针的传递简单写了一个,供参考#include <stdio.h>#include <string.h>struct data int n;char name[10];};//传入一个字符串指针name,给结构体相应变量赋值void cp_str( char *name , int n )struct data st;strcpy( st.name , name );st.n=n;}//输入数据,完成字符串的录入 void input_str()int i=0;for(i=0;i<10;i++)scanf("%s" ,name );cp_str( name , i );}}//主程序int main()input_str();return 0;}指针数组: 一个数组 , 其每个元素都是指针数组指针:一个指针,指向一个数组(一般把数组首地址赋给指针)函数指针:一个指针,指向一个函数(一般把函数栈的首地址赋给指针)指针函数: 一个函数,返回值类型为指针字符串指针:一个指针,指向一个字符串(一般是把字符串的首地址赋给指针)告诉你理解的方法: 短语名词中 第二个名词是主体,前面的是修饰的 。memcpy , 即将被修改的字符串的首地址传到另一个函数中,在这个函数中将传进来的地址的内容memcpy过来 。

    推荐阅读