小甲鱼 发表于 2016-5-5 04:09:50

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

泳爸 发表于 2016-5-30 11:05:12

指针不管指向什么类型,指针就是个地址,大小为4字节

MONKID 发表于 2016-9-4 17:08:15

miumiumiu

zzzz76 发表于 2016-9-7 12:37:51

概念上区别好麻烦啊
写程序时我在理解的基础上直接把指针变量、指针、都看做所指向变量的地址,哈哈

微凉 发表于 2016-10-21 12:33:30

{:9_241:}

lies_for_L 发表于 2017-2-22 21:56:48

0.地址
1.不是
2.1个
3.错误
4.ABC
5.不可取
6.不能 int a,*b;
7.没有给a赋初值
8.a = 100 l-value
0.#include <stdio.h>

int main() {
    int a, b, c;
    int *d, *e, *f, *g;

    printf("请输入三个数:");
    scanf("%d%d%d", &a, &b, &c);

    d = &a;
    e = &b;
    f = &c;

    if (a > b) {
      g = d;
      d = e;
      e = g;
    }
    if (a > c) {
      g = e;
      e = f;
      f = g;
    }
    if (b > c) {
      g = e;
      e = f;
      f = g;
    }
    printf("%d <= %d <= %d\n", *d, *e, *f);

    return 0;
}

1.#include <stdio.h>
#include <string.h>
int main()
{
    int a, result, list, sum = 0;
    int i, j, *k, *head = list, *end = list;
    for (i = 0,j = 1; i < 255; i ++)
    {
      list = j;
      j += 2;
    }
    printf("请输入一个整数:");
    scanf("%d", &a);
    result = a*a*a;
    while (sum != result)
    {
      if (sum < result) end++;
      else head++;
      for (k = head, sum = 0; k <= end; k++) sum += *k;
    }
    printf("%d = ", result);
    for (k = head; k <= end; k++)
    {
      printf("%d + ", *k);
    }
    printf("\b\b\b    \n");
    system("pause");
    return 0;
}
2.#include <stdio.h>
#include <string.h>
int main()
{
    char str;
    int i, j, k, z;
    for (i = 0, j = 0, k = 0; i < 5; i++)
    {
      printf("请输入%d句话:", i + 1);
      for (z = 0; (str = getchar()) != '\n'; z++) ;
      str = '\0';
      if (strlen(str) < strlen(str))
            j = i;
      if (strlen(str) > strlen(str))
            k = i;
    }
    for (i = 0; i < 5; i++)
    {
      printf("%s\n", str);
    }
    printf("其中最长的是:%s\n", str);
    printf("其中最短的是:%s\n", str);
    system("pause");
    return 0;
}
3.#include <stdio.h>
#include <string.h>
int main()
{
    int a, result, list, sum = 0;
    int z, i, j, *k, *head = list, *end = list;
    char c;
    for (i = 0,j = 1; i < 255; i ++)
    {
      list = j;
      j += 2;
    }
    printf("请输入一个整数:");
    scanf("%d", &a);
    printf("经验证,3~%d 之间。。。。。。。。\n\n是否打印所有。。(y/n):", a);
    while ((c = getchar()) != '\n');
    if ((c = getchar()) == 'n')
    {
      system("pause");
      return 0;
    }
    for (z = 3; z <= a; z++)
    {
      result = z*z*z;
      while (sum != result)
      {
            if (sum < result) end++;
            else head++;
            for (k = head, sum = 0; k <= end; k++) sum += *k;
      }
      printf("%d^%d == %d ==", z, z, result);
      for (k = head; k <= end; k++)
      {
            printf("%d + ", *k);
      }
      printf("\b\b\b    \n");
    }
    system("pause");
    return 0;
}

yuzhitai 发表于 2017-4-21 11:49:52

计算机从0开始数起,我们应该从0开始排头

wushi 发表于 2017-9-27 21:50:17

信息

fang_star 发表于 2017-12-4 17:04:20

{:10_269:}

Sert_My 发表于 2018-5-20 14:16:55

那指针有什么用处啊?

船到桥头自然沉 发表于 2018-8-10 12:46:03

新概念{:10_256:}

Jacob01 发表于 2018-8-14 19:38:20

泳爸 发表于 2016-5-30 11:05
指针不管指向什么类型,指针就是个地址,大小为4字节

指向一字节4b的变量才是4位

wbs45964011 发表于 2018-10-17 23:01:15

{:10_249:}{:10_249:}{:10_249:}{:10_249:}{:10_249:}

13155416650 发表于 2018-12-16 15:35:36

{:5_103:}很详细的呢

大同先生 发表于 2019-2-8 19:00:25

本帖最后由 大同先生 于 2019-2-8 19:06 编辑

泳爸 发表于 2016-5-30 11:05
指针不管指向什么类型,指针就是个地址,大小为4字节

啊?
那怎么解释。
float b【】={1,2,3,4,5};
float *a;
a=b;
a+=1;
printf(“%f”,*a);
如果是四个字节,加不够啊。(我是小白。。。)

Jundong-4316 发表于 2019-3-2 20:06:48

int char 定义的指针有什么区别呢?为什么要这样区分定义?

xdlcj 发表于 2019-5-14 09:08:47

朕想知道

cshaptx4869 发表于 2019-6-23 13:05:36

指针变量在内存中是占4个字节吗?怎么我打印出来是8个,是不同编译器会不一样的吗
#include <stdio.h>

int main()
{
        // 申明一个变量并初始化
        int a = 123;
        // 申明一个指针变量 用来存放变量地址 其地址指向的变量类型为int型
        int *na;
        // 给指针变量赋值 占4个字节?
        na = &a;
               
        printf("变量a的内存地址是%p\n", na);
        printf("变量a在内存中的值是%d\n", *na);
        printf("指针变量na占内存的大小为%d字节\n", sizeof(na));
        // 给指针变量的值赋值
        *na = 321;
        printf("现在变量a在内存中的值是%d\n", a);
    return 0;       
}

打印内容:
变量a的内存地址是000000000062FE14
变量a在内存中的值是123
指针变量na占内存的大小为8字节
现在变量a在内存中的值是321

秦枫梅投法 发表于 2019-7-31 16:25:27

cshaptx4869 发表于 2019-6-23 13:05
指针变量在内存中是占4个字节吗?怎么我打印出来是8个,是不同编译器会不一样的吗




查阅资料可知,指针在32位系统占4字节,在64位操作系统占8字节。
{:5_109:}

秦枫梅投法 发表于 2019-7-31 16:25:58

大同先生 发表于 2019-2-8 19:00
啊?
那怎么解释。
float b【】={1,2,3,4,5};


看看其他回答
页: [1] 2 3
查看完整版本: S1E21:指针