c语言指针变量(C语言怎么让指针指向某个变量)

本文目录
C语言怎么让指针指向某个变量
首先要知道两个最基础的知识点:
1、&a指向的是a的地址。
2、指针指向的是地址,和整型变量的值并不对等,也就是int *与int不对等,是不能从int转换为int *的。
知道以上两个最基础的知识点,你的问题就很简单了 。
第一个:
int *p;
p=&a
是正确的。定义指针变量p,然后才将p指向变量a的地址。
第二个:
int *p;
p=int* (&a);
p是指针,指向的是地址,而不是int型值,因此是错误的。
第三个:
int *p=a;
不能从int转换为int *,因此是错误的。
只有第一个是正确的,后面两个都是错误的。
c语言指针变量
#include 《stdio.h》
#include 《malloc.h》
int main(void)
{
char *s, *t, *ch;
int n = 0, i;
s = t = NULL;
ch = (char *)malloc(sizeof(char));
while (scanf(“%c“, ch))
{
if (*ch == 10)
break;
n ++;
t = s;
s = (char *)malloc(sizeof(char) * n);
if (t != NULL)
{
for (i = 0; i 《 n - 1; i ++)
s[i] = t[i];
free(t);
t = NULL;
}
s[n - 1] = *ch;
}
puts(s);
free(ch);
free(s);
return 0;
}
c语言指针变量问题
c 语言中,形式逻辑不成立,指针书写的外形,在声明中和在语句中,外貌相同,意思不同!
int *ptr; 这是声明,声明 ptr 是指针,用于指向 int 型变量。
语句中 *ptr 表示 指针指向的数值, ptr 表示 指针指向的地址。有*的是值,没星号的是地址。
ptr=(int *)malloc(num * sizeof(int)); 这是动态分配,分配了num个int型数值的存放空间,ptr 表示 指针指向的地址(分配了的空间的“始地址”)
你也可以理解成,定态声明了数组: int ptr[num]; 数组名ptr, 有 num个元素。
scanf(“%d“,&ptr[i]); ptr[i] 是数组第i号元素的值。&ptr[i] 是数组第i号元素的地址。
printf(“%d“,ptr[i]); 输出 ptr数组第i号元素的值.
---
深入理解:
语句里,ptr[i] 里的 实质上是运算符,ptr[i] 等价于 *(ptr+i)。是值。
语句里,&ptr[i] 等价于 (ptr+i) ,是地址。等于: ptr的地址+i * sizeof(int)。
C语言指针基本概念及其指针变量的定义是什么
指针是常见间接访问方式.指针就像一个快捷方式,它指向内存的一个地址,可以通过指针就可以间接的访问到数据。对于计算机,访问内存的方式有两种,直接访问和间接访问。直接访问通过就是通过变量名称去访问。指针概念是构成C/C++的重要元素之一,是变量的一种类型,存放的是指定类型数据的地址,而同类型变量存放的是数据。
指针变量:就是一个变量,其值是可变的,与整形变量、浮点变量等等的命名规则完全相同。 “指针”是概念,“指针变量”是具体实现。指针类型说明,即定义变量为一个指针变量; 指针变量名; 变量值(指针)所指向的变量的数据类型。
扩展资料:
与其他高级编程语言相比,C 语言可以更高效地对计算机硬件进行操作,而计算机硬件的操作指令,在很大程度上依赖于地址。指针提供了对地址操作的一种方法,因此,使用指针可使得 C 语言能够更高效地实现对计算机底层硬件的操作。另外,通过指针可以更便捷地操作数组。在一定意义上可以说,指针是 C 语言的精髓。
C语言中“指针”和“指针变量”的区别是什么
1、概念不同
“指针”是概念,“指针变量”是具体实现,指针也是一个变量,所以需要进行定义,而对于指针的定义,与一般变量一样。
2、 存放地址不同
一个变量的(内存)地址称为该变量的“指针”,通过指针能找到以它为地址的内存单元。而指针变量是用来存放另一个变量的地址的(即指针)。
扩展资料:
指针和指针变量的关系
1、指针就是地址,地址就是指针。
2、地址就是内存单元的编号。
3、指针变量就是存放内存地址的变量。
4、指针和指针变量是两个不同的概念,但要注意的是,通常我们叙述时会把指针变量简称为指针,实际他们含义并不一样。
注:
指针里存的是100. 指针:地址 - 具体。
指针里存的是地址,指针:指针变量 -可变。
指针的好处:
1、直接访问硬件
2、快速传递数据(指针表示地址)
3、返回一个以上的值返回一个(数组或者结构体的指针)
4、表示复杂的数据结构(结构体)
5、方便处理字符串
6、指针有助于理解面向对象
C语言指针变量
假设a
是一个抽屉,里面只能放一个整数,(就是所谓的int
,这个不重要),当这个抽屉存在的时候,它就已经有一个编号了(就是地址),这个号是系统编的,不能更改。而p
是另一个抽屉,里面只能放编号,p=&a,就是把a的编号放到p
这个抽屉里,现在如果你知道了p
里放的编号,你就可以按照这个编号找到这个对应的抽屉。这就对应上了,不知道你能看明白不?
a
就是10
,这里的10
就是a
,它俩是同一个东西,当然放在同一个地方,这个地方的序号比如1000,这个序号保存在p
里。
a
和
10在这里就是一码事,它俩指的是同一个东西,比如一只白狗叫a,这个a
就是指这只白狗,a和这只白狗此时就是一回事,同一个东西在某一时刻还能在俩地方吗?

更多文章:
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00







