当前位置:首页 » 编程语言 » c语言怎么给指针
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么给指针

发布时间: 2023-04-28 12:46:37

1. c语言 指针如何赋值

1、变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。

2. C语言 指针方法

#include<stdio.h>

int main()

{

int a,b,c,s[3],t;

int *x,*y,*z;//定义指针变量

x=&a;//将a的地址赋给指针x,下同

y=&b;

z=&c;

scanf("%d%d%d",x,y,z);

s[0]=*x;//将指针x所指向的变量值赋给数组s的第一个元素;依次类推

s[1]=*y;

s[2]=*z;

for(int i=0;i<3;i++)//冒泡排序

for(int j=0;j<3-i-1;j++)

if(s[j]<s[j+1])

{

t=s[j];

s[j]=s[j+1];

s[j+1]=t;

}

for(int i=0;i<3;i++)

printf("%d ",s[i]);

return 0;

}

3. c语言如何给指针参数赋值为null

用指针的引用即可.
例如:
int
memnull(int
*¶m)
{
param
=
NULL;
return
0;
}
在另一个函数里调用它:
int
*a;
memnull(a);
memnull运行完之后a的地址就被修改为NULL了.
或者可以用指针的指针:
int
memalloc(int
**param)
{
*param
=
NULL;
return
0;
}
调用的时候这样调用:
int
*a;
memnull(&a);
这样memnull函数运行完后a的地址也会被修改为NULL.
同理其他操作,申请空间,改变指向等,也可以用指针的引用和指针的指针这两种方法完成.不过还是推荐指针的引用,在写代码时不容易写错.

4. C语言怎么将变量里面的值赋给指针

p=r1;就可以了

如果要让p指向r1就p=&r1;

指针的宽度win32下是4位 dos下2位
也就是sizeof(p)=sizeof(int);

5. c语言指针用法有哪些 如何应用

在下文中,我将会告诉大家c语言的指针都有哪些用法。

c语言指针用法

int t 定义整薯尺型变量

int *p:p为指向整型数据的指针变量。

int a[n]:定义整型数组a,它有n个元素。

int *p[n]:定义指针数组p,它由n个指向整形数据的指针元素组成。

int (*p)[n]:p为指向含n个元素的一维数组的指针变量。

int f():f为返回整型函数值的函数。

int *f():p为返回一个指针的函数,该指针指向整型数据。

int (*f)():p为指向函数的指针,该函数返回一个整形值。

int **p:p是一个指针变量,它指向一个指向整形数据的指针变量。

c语言的应用

驱动程序,无论是操作系统或者单片机,对硬件的驱动除了汇编(比较繁琐),都是用C语言来编写。

系统服务,由于操作系统都提供了C语言的API,并且C语言的执行效率比较高,所以用C语言来写系统服务是最适合不过的。

应用软件,由于C语言没有成熟的开发框架,所以不适合开发大型应用程序。但也有一些对效率要求比较高的程序使用C语言开发,如Git。

应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。

C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终此旦是运行森手扰在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像Java就不能编写Windows病毒。

6. C语言的指针怎么用啊

在你提供的代码上进行了增加,我感觉你们老师可能是想让你们把指针用在数组上吧,对于一个指向数组的指针p,p++指向数组的下一个元素。此外,使用指针可以很好的提升代码执行效率。有问题可以互相交流。
#include <stdio.h>
#include <stdlib.h>

int square(int a, int b)
{
return a*b;
}

int main()
{
int i, j, l, w, s = 0, number = 1, max;

int *length = &l, *width = &w, *p = &i;

printf("请输入您所需测量田地的数量: \n");

scanf("%d",p);

int a[*p];
int *y = a;

for(j = 0; j < *p; j++)
{
printf("请输入第%d块田的长和宽: \n", j+1);
scanf("%d %d",length,width);
*(y+j) = square(*length, *width);
s = s + *(y+j);
max = *y;

if( *(y+j) > max)
{
max = *(y+j) ;
number = j+1;
}
}

for(j = 0; j < *p; j++)
{
printf("您第%d块田的面积为%d:\n",j+1,*(y+j));
}

printf("您的田地总面积为: %d \n", s);
printf("您最大面积一块第为第%d块,面积为%d !!!", number, max);
return 0;
}

7. c语言怎么样把指针的值赋值给另一个指针

1. C语言 怎么把指针的值 赋给另一个数组
循环赋值, 或者直接strcpy。 因为这里是字符串。

比如

#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】接收到上面那个数组的值 并输出我应该怎么写用指针!

return 0;

}
2. C语言 怎么把指针的值 赋给另一个数组
循环赋值, 或者直接strcpy。

因为这里是字符串。 比如 #include 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】接收到上面那个数组的值 并输出我应该怎么写用指针!return 0;}。
3. C++如何将一个指针的值赋值给另一个指针,并且两个指针不共用一个
首先指针全名叫

所以他本身是变量,既然是变量就要有值,而他的值就是指针指向的地址(在32位系统下是一个无符号的32位整数),

所以可以这么说任何两个指针都不共用一个地址,但是可以指向同一个毁橘型地址!

像这样

int nNum = 10;

int* p1 = &nNum;伍消

int* p2 = &nNum;纤猜

p1和p2指向的地址相同,但是p1和p2的地址却是不同的

如果我理解的没错的话你想说的是两个指针指向同一个地址,但是这是不可能的!

既然是指针值赋值给另一个指针,那么一定是指向同一地址的,

算了,看到*c=*d;的写法我哭了!

8. c语言如何给结构体指针赋值

结构体数组指针作为函数参数,通过数组的首地址与偏移量对结构体数组进行scanf的赋值,在函数中通过指针间接访问到其指向的内存。

举例:编写函数,输入5个学号(int),5个姓名(字符串),5个成绩数组(每组三个成绩)(int[3]),依次调用函数

#include <stdio.h>

#include <stdlib.h>

struct student //建立结构体,学号,姓名,3门课的分数

{

int num;

char name[10];

int score[3];

}Stu[5]; //初始化,一共5个学生的数据

void getScore(struct student * p) //函数:向结构体读取分数,一共三门课

{

int i, j;

for (i = 0; i < 5; i++)

for (j = 0; j < 3; j++)

scanf_s("%d", (&(p+i)->score[j]));

}

void getNum(struct student * p) //函数:向结构体读取学号

{

int i;

for (i = 0; i < 5;i++)

scanf_s("%d", &(p + i)->num);

}

void getName(struct student * p) //函数:向结构体读取姓名

{

int i;

for (i = 0; i < 5; i++)

scanf("%s", &(p + i)->name);

}

int main()

{

int i, j, average[3] = { 0 }; //average数组储存每门课的平均分

getNum(Stu); //函数调用

getName(Stu);

getScore(Stu);

for (j = 0; j < 3; j++)

{

for (i = 0; i < 5; i++)

average[j] += Stu[i].score[j];

}

for (i = 0; i < 5; i++)

{

printf("num = %d name = %s Score:", Stu[i].num, Stu[i].name); //依次打印学号 姓名

//printf("%d %d %d", Stu[0].score[0],Stu[0].score[1],Stu[0].score[2]);

for (j = 0; j < 3; j++) //打印三门课的分数

printf(" %d", Stu[i].score[j]);

printf(" ");

}

printf("average:");

for (i = 0; i < 3; i++)

printf("%f ", (float)average[i]/5); //打印三门课平均分

printf(" ");

system("pause");

return 0;

}

如:

scanf("%c%c%c",&a,&b,&c);

输入为:

d e f

则把'd'赋予a, ' '(空格)赋予b,'e'赋予c。因为%c 只要求读入一个字符,后面不需要用空格作为两个字符的间隔,因此把' '作为下一个字符送给b。

只有当输入为:def(字符间无空格) 时,才能把'd'赋于a,'e'赋予b,'f'赋予c。

9. C语言指针怎么用

在c语言中.指针被用来表示内存单元的地址,如果把这个地址用一个变量来保存,则
这种变量就称为指针变量。指针变量也分别有不同的类型,用来保存不同类型变量的地址。
严格地说.指针与指针变量是不同的,为了叙述方便,常常把指针变量就称为指针。
内存是计算机用于存储数据的存储器,以字节作为存储单元.为了能正确的访问内存单
元,必须为每一个内存单元编号,这个编号就称为该单元的地址。如果将一个旅店比喻成内
存,则旅店的房间就是内存单元,房间号码就是该单元的地址。
指针变量定义格式:
[存储类型]
数据类型
*指针变量名[=初始值]
指针变量一旦定义,必须采用赋值的方式将其与某个变量实体相联系,才能使用。指针
变量的赋值方式:
指针变量名;&普通变量名;