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

c语言指针赋值

发布时间: 2022-02-17 05:34:39

❶ 关于c语言 指针赋值问题

&是一元运算,取变量地址的操作,间接访问操作用运算符号*.&他返回操作数的内存地址,可以赋给类型合适的指针./ 列如int x int *px px=&x
将X的内存地址赋给指针变量px,该赋值语句表示 指针px制向变量X, *运算符与&运算符刚好相反,它也是一远运算符.用语返回指针指向的内存地址中存的值!

❷ C语言对指针赋值有多少种方法

不管是在什么样的系统下 ,都要区分 指针本身 和指针所指向数据的类型

如 定义 char *p; 则p指向的内容是 字符型的 但是绝不意味着p是字符型的 也就是 p不一定是1个字节 当然 int *p 也是如此;

你可以用sizeof 来查看
比如定义 type(如char int long...) *p ; 你用 sizeof(*p) sizeof(p)

如在 32bit系统中,无论前面的type是整形、实形……, sizeof(p)的值都一样都是4;在8bit系统中(如单片机系统) 应该是1或2(这个应该跟单片机的型号相关不同的单片机系统 应该也不一样)
这就是说 指针本身 是不区分类型的 它只是一个代号 用来指向不同的东西

就像 可能一个班级50人, 一个100人 不管班级的人数有多少,它都叫1班、2班 都是俩字

❸ c语言中指针赋值

vc有内存安全检查,如果你没有申请的内存空间是不能访问的,在这段程序中
char *a只是声明了一个char的指针,而且没有初始化,它指向的空间是一个不安全的内存空间,而 *a='c'是往这个未知空间里写入一个'c',vc安全检查到这里就会报错。
而tc没有安全检查所以可以运行。

❹ C语言指针赋值问题

没办法做到。因为a是一个指针,占用4个字节,而b是一个字符变量,占用一个字节。不能将指针的值赋给字符变量。
当然,如果你将b声明为一个字符数组,那么可以将"abc"放到字符数组中。

❺ C语言指针怎么赋值呢

要改p–>a的值,和在这个函数里面是一样的
直接
p–>a=要赋值的值
这样就可以了
唯一需要注意的就是要赋值的是结构体指针还是结构体变量,如果不是指针那就要改成点了
p.a这样

❻ C语言程序设计指针变量赋值

int
*p;中的“*”说明定义的一个变量p是指针类型的。

*p中的“*”是一种操作,是取值操作。即去指针指向的那个值。
*p可看作是一个整形的变量。a则可以看成是一个指针。

❼ 请问C语言这个指针要怎么赋值

都不知道你的程序要表达神马意思,是查找子串还是查找字符,还是比较字符。
子函数是比较字符串,主函数只输入字符,输出字符。

return source[i]; 错误, 这里是返回字符,但是函数要求返回指针。即 source+i,但是scource是const变量。所以用强转 return (char *)(source+i);

source=getchar(); /////////输入字符不能赋予指针。只能地址,要赋值就 *source=getchar();
chars=getchar(); ///同理
改成:
*source=getchar();
*chars=getchar(); 之后记得开辟空间,就算是字符也得要开辟一个。

后面不能再用find_ == NULL判断了,因为find_不会指向NULL的了
gets() 错误
///////////////////////////////////////
//////
///////////////////////////////////////

❽ 在C语言中能否直接给指针指向的数据赋值为什么

可以,但int *p;*p=7;这样不行。

因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。

这样才可以:

int a,*p=&a;*p=7;

实际上就是使a等于了7。

(8)c语言指针赋值扩展阅读:

注意事项

也可以使用赋值运算符为指针变量赋值,但要保证两个指针变量的类型相同。

假设有如下变量定义:

int i,j,*p,*q;p=&i;q=&j;

这两句将变量i和j的地址分别赋值给指针变量p和q;

执行了q=p后,执行该条语句,指针变量p和q都指向了同一个变量i,因此指针变量p和q中存放的都是变量i的地址&i。变量i此时并没有初始化,只为其分配了内存单元。

注意理解:q=p;和*q=*p

前者为指针变量q赋值,即将指针变量p中存放的某个变量的地址赋值给q。显然,赋值后,q和p就指向了同一个变量。

后者将p指向变量的赋值给q指向的变量。

例子:

p=&i;

q=&j;

i=2;

j=3;

❾ c语言 指针如何赋值

指针的赋值
int
*p;
int
a;
int
b[1];
p
=
&a;
p
=
b;
指针的赋值,“=”的左操作数可以是*p,也可以是p。
当“=”的左操作数是*p时,改变的是p所指向的地址存放的数据;
当“=”的左操作数是p时,改变的是p所指向的地址。
数组的变量名b表示该数组的首地址,因此p=b;也是正确的.
同类型的指针赋值:
int
val1
=
18,val2
=
19;
int
*p1,*p2;
p1
=
&val1;
p2
=
&val2;
p1
=
p2;
//注意啦,p1指向了val2,而没有指向val1

❿ C语言指针字符串赋值

在C语言中并没有字符串这个类型。所说的字符串就是字符数组。也就是char类型的数组。
与普通数组不同的,字符串必须以'\0'作为结束符。
而在C语言中,类型为T的一维数组,其首地址等效于该类型的一维指针,即T*型。
于是字符串,也就是字符数组,首地址就可以当做char *型使用了。
事实上,在库函数以及大多数使用到字符串作为参数的函数中,其参数都是char *型的。