c语言指针和数组的转换
C语言 怎么把指针的值 赋给另一个数组
include<stdio.h>int main(){int i=0;char a[100];scanf("%s",a);fun(&a);return 0;}int fun(int *p){int i,b,c,d;char j[100];strcpy(j, p);\/\/用memcpy也可以。\/\/memcpy(j, p, sizeof(j));\/\/我想在这之后 让j【100】接收到上面那个数组的值 并输出我应该怎么写用指针...
C语言问题:怎样用指针和函数实现两个数组的交换
printf("\\n交换前的数组a中的元素为 :\\n");for (i = 0;i < m;i++) printf("%5d",a[i]);printf("\\n交换前的数组b中的元素为 :\\n");for (i = 0;i < n;i++) printf("%5d",b[i]);swaparr(a,m,b,n);printf("\\n交换后的数组a中的元素为 :\\n");for (i = 0;...
如何使用指针指向数组里面的元素?
int a[3][4];int *p;p=&a[0][0];\/\/因为a[0]是第0行的数组名,所以p=&a[0][0]相当于p=a[0],因为a[i][j]前面共有i*4+j个元素 该二维数组的任意i行j列元素可表示为*(p+i*4+j)。2.使用行指针:定义一个行指针p,让它指向二维数组的第0行 int a[3][4];int (*p)[...
C语言怎么用指针代替二维数组
int* p=a[0];\/\/此时P是指向一维数组的指针。P++后,p指向 a[0][1]。2.如果定义int (*p1)[n];p1=a;p1++后,p1指向a[1][0];则p+j将指向a[0]数组中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行数组依次连续存储,则对于a数组中的任一元素a[i][j],指针的一般形式...
C语言指针,下标,
2 指向由j个整数组成的一维数组的指针变量 当指针变量p不是指向整型变量,而是指向一个包含j个元素的一维数组。如果p=a[0],则p++不是指向a[0][1],而是指向a[1]。这时p的增值以一维数组的长度为单位。5.指针与字符数组 C语言中许多字符串操作都是由指向字符数组的指针及指针的运算来实现的...
指针和数组的区别
指针和数组的区别是指针变量用于保存数据的地址,数组用于直接保存数据。指针一般指向一个函数或一个变量,在信息工程中是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中的寄存器(Register)。指针一般出现在比较近机器语言的语言,如汇编语言或C语言。面向对象语言如Java一般避免用指针,而是...
c语言用指针和自定义函数实现数组元素的调换
include <stdio.h> define N 10 void Swap ( int *a, int *b, int n);int main(void){ int *a, *b;int num1[N], num2[N];for (a = num1; a < num1 + N; a++)scanf ("%d", a);for (b = num2; b < num2 + N; b++)scanf ("%d", b);a = num1;\/\/...
long数组通过指针强制转换为char数组 c语言程序问题!
强制类型转换 当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。强制类型转换具有两种形式,称为显式强制转换和隐式强制类型转换。1、显式强制类型转换 显式强制类型转换需要使用强制类型转换运算符,格式如下:type(<expression>)或 (type)<expression...
C语言通过指针 将一个二维数组赋值给另一个二维数组
include <stdio.h>void copy_arr(double(*)[5],double(*)[5],int ,int);int main(void){int n,m;double source[2][5]={{2.6,3.7,5.8,4.2,3.3},{1.7,5.4,6.3,4.7,6.2}};double target1[2][5]={0};printf("Before operation:\\n");printf("source :");for (n...
C语言使用数组指针参数传递
用指针传递一维数组。include <stdio.h> include <math.h> float dist( float *p1, float *p2){ float d[3],ds;int i;for (i=0;i<3;i++) d[i] = p2[i]-p1[i];ds = sqrt( d[0]*d[0]+ d[1]*d[1]+d[2]*d[2]);return ds;};void vec( float *p1, float *p2,...
通道侗族自治县雪莲回答: 数组名就是数组元素的首地址,如int a[3],a和&a[0]是一样的.要想操作里面的元素,可以直接用,如a[2],也可以定义一个指针,让它指向a,然后用指针来操作!
雕舍19539954838问: C语言用指针调换数组元素 - ?
通道侗族自治县雪莲回答: 看看是不是这个: #includevoid swap(int *x, int *y) { int p = *y; *y = *x; *x = p; } void main() { int a[10],i; int max,min,max_i = 0,min_i = 0; scanf("%d",&a[0]); max = min = a[0]; for(i = 1; ia[i]) { min = a[i]; min_i = i; } } swap(&a[max_i], &a[min_i]); for(i =0 ; i
雕舍19539954838问: C语言中,怎么交换指针数组里的值? - ?
通道侗族自治县雪莲回答: 程序主要通过冒泡法使用函数strcmp比较两指针所值字符串大小,通过临时指针交换两指针指向,实现字符串排序,代码如下,//程序功能,从小到大排序10个字符串 #include <stdio.h>#include <string.h> void bubble_sort(char *a[], int n); int main...
雕舍19539954838问: C语言怎么用指针代替二维数组 - ?
通道侗族自治县雪莲回答: 1.设p是指向二维数组a[m][n]的指针变量,则有:int* p=a[0];//此时P是指向一维数组的指针.P++后,p指向 a[0][1].2.如果定义int (*p1)[n];p1=a;p1++后,p1指向a[1][0]; 则p+j将指向a[0]数组中的元素a[0][j].由于a[0]、a[1]┅a[M-1]等各个行数组...
雕舍19539954838问: C语言 如何实现一结构数组指针的内容交换?
通道侗族自治县雪莲回答:#include <stdio.h> #include <stdlib.h> typedef struct MyStruct { int m, n; }mystruct; int main() { //初始化 mystruct *a = (mystruct *)malloc(sizeof(mystruct)); mystruct *b = (mystruct *)malloc(sizeof(mystruct)); mystruct t; a->m = 1, a->n = 5; b->m = 10, b-...
雕舍19539954838问: C语言,用指针做3*3数组的转置 - ?
通道侗族自治县雪莲回答: #include <stdio.h>void change(int *str[3][3]);//先申明 int main() { //指针数组,这样才能指针操作, //str里是9个指针,每个指针指向一个数据int *str[3][3]={{1,2,3},{4,5,6},{7,8,9}};change (str);return 0; }void change(int *str[3][3]) {int *p=str,i,j,...
雕舍19539954838问: C语言用指针调换数组元素?
通道侗族自治县雪莲回答: 看看是不是这个: #include <stdio.h> void swap(int *x, int *y) { int p = *y; *y = *x; *x = p; } void main() { int a[10],i; int max,min,max_i = 0,min_i = 0; scanf("%d",&a[0]); max = min = a[0]; for(i = 1; i <10; i++) { scanf("%d",&a[i]); if(...
雕舍19539954838问: C语言:用指针方法,交换数组A和数组B的对应元素. - ?
通道侗族自治县雪莲回答: #include void swaq(int *a,int *b) { int t; t=*a; *a=*b; *b=t; } void change(int *pstr,int *pstr2,int num) { printf("the value in a is %d\t",*(pstr+num-1)); printf("the value in b is %d\n",*(pstr2+num-1)); swaq(pstr,pstr2); printf("the value in a is %d\t",*(...
雕舍19539954838问: C语言中用指针代替数组. - ?
通道侗族自治县雪莲回答: 你这里的指针没有指向任何实际的位置,只是一个空,没有内存,因此不能运行 你可以这样写:char *a = new char; 就为指针分配内存了!希望对你有所帮助!
雕舍19539954838问: 谁能帮我详解一下c语言中数组下标是如何转化为指针的?如 int a[5] ={1,2,3,4,5} - ?
通道侗族自治县雪莲回答: 数组下标说简单点其实就是对于数组首个元素地址的偏移量(这里指的偏移量是指要乘指针基类型的),所以首个元素的下标是0,之后依次是1,2,3......