鱼C论坛

 找回密码
 立即注册
查看: 2675|回复: 5

[技术交流] 研究以下小小

[复制链接]
发表于 2022-4-12 14:52:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

int main()
{
    const int Max = 1;
    int* p = &Max;
    //const int i = 0;
    //int* ip = &i;
    int i = 0;
    *p = 65;
     //   printf("%d  %c %p \n", *p, *p, *p);
       // *p = i;
        while (i != 128)
        {
           // printf("%d\n",i);
            *p = i;
            printf("%d  %c %p \n", *p, *p, *p);
            i++;
        }
     
        
       // printf("%d  %c %p \n", *p, *p, *p);
   
      

      
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-12 15:55:47 From FishC Mobile | 显示全部楼层
  1. #include <stdio.h>

  2. int main(){
  3.         int Max = 1; // <--------- 这里
  4.         int* p = &Max;
  5.         int i = 0;
  6.         *p = 65;
  7.         while (i != 128){
  8.                 *p = i;
  9.                 printf("%d  %c %p \n", *p, *p, p); // <--------- 这里
  10.                 i++;
  11.         }
  12.         return 0;
  13. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-12 16:51:07 | 显示全部楼层
#define  CHANGL_1 32

    printf("%d\n", CHANGL_1);
    printf("%c\n", CHANGL_1);
   // printf("%f-=-%.2f\n", CHANGL_1, CHANGL_1);
  //  printf("%f-=-%1.9f\n", CHANGL_1, CHANGL_1);
    printf("%p\n", CHANGL_1);
    printf("%c\n", CHANGL_1+1);
    int i;
    i = 0;
    while (i<(128-32))
    {
        printf("%c-=-%p\n", CHANGL_1 + i, CHANGL_1+i);
        i++;
    }

再找 怎么通过内存修改字符.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-12 16:55:49 | 显示全部楼层
char a[]="color 00"
我想通过内存  ++  改变 字符'0'和'0'  随机生成 十六进制的任意一个值.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-12 22:59:14 | 显示全部楼层
char r[9] = "color 00";
    char c[] = "0123456789abcdef";
  //  int str = strlen(c);
   // printf("%d \n",str);
        printf("%s\n",c);
        printf("%p\n", c);
       // printf("%p\n", *c+2);
        //printf("%p\n", *c + 1);
        unsigned int* ip = (unsigned int*)c;
        printf("%p %p \n", ip, *ip);
         ip = (unsigned int*)c+1;
        printf("%p %p \n", ip, *ip);
         ip = (unsigned int*)c+2;
        printf("%p %p \n", ip, *ip);
        ip = (unsigned int*)c + 3;
        printf("%p %p \n", ip, *ip);
   
        printf("===================\n");

        ip = (unsigned int*)r;
        printf("%p %p \n", ip, *ip);

        ip = (unsigned int*)r+1;
        printf("%p %p \n", ip, *ip);
        *ip = 0x33323130;
        printf("%s   %p  %p\n",r,*ip,ip);
//内存赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-14 15:06:39 | 显示全部楼层
int main()
{  
     char a[7] = "abccba";
     char aa[7] = { 1,2,3,3,2,1 };
     char* p = (unsigned char*)&a;
     char* pp = (unsigned char*)&aa;
    printf("数组a的首地址:%p\n",p);
    printf("数组a的首地址:%p\n", pp);
    unsigned int i=0;
    while (i < 6)
    {
        printf("数组a的首地址+%d 得出首地址下的偏移地址:%p\n",i, p+i);
        printf("地址取值 %c\n", *(p + i));
        printf("数组a的首地址+%d 得出首地址下的偏移地址:%p\n", i, pp + i);
        printf("地址取值 %d\n", *(pp + i));
        i++;
    }
    return 0;
}
//地址取值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-16 03:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表