C语言小白学习C语言的记录1
一、scanf一次性接收连续的数字
1.已知数量,且个数较少:scanf("%d%d%d",&a&b&c);
2.已知数量,但数量较多:for(int i=0;i<n;i++){scanf("%d",&a[i]);}
3.不知道数量,如:1 2 3 4\n    
  while(1){
        scanf("%d",&a);
        Insert(&la,i,a);
        i++;
        char c=getchar();
        if(c=='\n'){
            break;
        }
   }
二、数组的大小不确定的时候如何创建数组
int* b = (int*)malloc(n*sizeof(int));
三、使程序停止只有输入一个enter的时候才能够继续
#include <stdlib.h>  添加这个库
在需要停止的位置添加:system("pause");
四、C语言分别通过变量名还有指针来访问结构体当中的对象
      结构体成员依据结构体变量类型的不同,一般有2种访问方式,一种为直接访问,一种为间接访问。直接访问应用于普通的结构体变量,间接访问应用于指向结构体变量的指针。直接访问使用结构体变量名.成员名,间接访问使用(*结构体指针名).成员名或者使用结构体指针名->成员名。相同的成员名称依靠不同的变量前缀区分。
struct SIMPLE
{
    int a;
    char b;
};
//声明结构体变量s1和指向结构体变量的指针s2struct SIMPLE s1, *s2;
//给变量s1和s2的成员赋值,注意s1.a和s2->a并不是同一成员
s1.a = 5;
s1.b = 6;
s2->a = 3;
s2->b = 4; 
五、&取址和指针
&可以取出来一个变量在内存当中的地址,指针是一个变量其中存储的是某一个变量的地址。
通过如下程序可以看出来这一点:
#include <stdio.h>
int main()
{
    int a=0;
    int* p=&a;
    printf("%d %d",&a,&p);//显示变量a的地址还有指针p所在的地址
    printf("%d %d",&a,p);//显示变量a的地址还有指针p所存的地址
}
六、C语言当中指向同一个数组的的两个指针相减会得到数组元素的下标差而不是地址差
下面程序也给出了地址差计算的方法
int main()
{
int* a=(int*)malloc(10*sizeof(int));
int* p1=&a[6];
int* p2=&a[7];
printf("元素差:%d 地址差:%d",p2-p1,(unsigned int)p2-(unsigned int)p1);
}
七、不要试图将一个空指针放入函数当中对指针进行赋值,如下程序编译可以通过,但是运行会报错
#include <stdio.h>
void A(int* a)
{
    int b=10;
    a=&b;
}
int main(){
    int* a;
    A(a);
    printf("a = %d, b = %d\n", *a);
    return 0;
}
上面的程序无法对指针a实现赋值,因为函数A是通过值传递将指针a的值传递到A当中的,改变形式参数的值不会改变指针a的值

C语言学习中遇到的小问题(一)的更多相关文章

  1. JavaScript语言学习中的注意事项

    javascript: 基于浏览器 基于对象 事件驱动 脚本语言 由: javascript: ECMAscript(ES) DOM文档对象模型 BOM浏览器对象模型,三部分组成 使用js的三种方式 ...

  2. C语言学习中容易模糊的一些概念

    1.什么叫分配内存 操作系统把某一块内存空间的使用权利分配给该程序 2.释放内存 操作系统把分配给该程序的内存空间的使用权利收回,该程序就不能再使用这块内存空间 注:释放内存空间并不是把这块内存的数据 ...

  3. Python学习中的一些小例子

    这篇文章包括用Python编写的斐波那契数列,三位数的水仙花数和百钱买百鸡的基础代码 斐波那契数列: ''' def hanshu(n): n_1 = 1 n_2 = 1 m = n sumn = 0 ...

  4. 20155224聂小益 - 我的技能与C语言学习

    20155224聂小益 - 我的技能与C语言学习 预备作业2 ● 你有什么技能比大多人(超过90%以上)更好? 我认为我可能有些技能身边有的人比较少有,但是要是超过90%以上我实在不敢保证.毕竟厉害的 ...

  5. 记录Python学习中的几个小问题

    记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...

  6. Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录)

    Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: class Star8 { public static void m ...

  7. Java 需要记得、了解的关键词 (Java 学习中的小记录)

    Java 需要记得.了解的关键词 (Java 学习中的小记录)     作者:王可利(Star·星星) 总结:本次随笔,仅且拿来平时翻阅记忆用

  8. C语言中的调试小技巧

    C语言中的调试小技巧 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的 ...

  9. R语言学习笔记——C#中如何使用R语言setwd()函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//")> setwd("e:\桌面\")> s ...

随机推荐

  1. maven名词解释

    Maven名词解释 Project:任何你想build的事物,Maven都可以认为它们是工程.这些工程被定义为工程对象模型(POM,Poject Object Model).一个工程可以依赖其它的工程 ...

  2. 004_i686和x86_64的区别

    找回TCL隐藏分区(转载) 用Wubi安装 Ubuntu 出现(Initranfs)问题的解决方案 i686和x86_64的区别 2009-04-11 08:19:31|  分类: 电脑问题 |  标 ...

  3. (并发编程)进程IPC,生产者消费者模型,守护进程补充

    一.IPC(进程间通信)机制进程之间通信必须找到一种介质,该介质必须满足1.是所有进程共享的2.必须是内存空间附加:帮我们自动处理好锁的问题 a.from multiprocessing import ...

  4. 反向代理负载均衡之APACHE

    反向代理负载均衡之APACHE 一.反向代理1.1 介绍反响代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将 ...

  5. ThinkPHP 3.1,3.2中对IN和BETWEEN正则匹配不当导致的一个SQLi

    // where子单元分析 protected function parseWhereItem($key,$val) { $whereStr = ''; if(is_array($val)) { if ...

  6. PYTHON-文件指针的移动,移动和函数基础

    # 文件内指针的移动 #大前提:文件内指针的移动是Bytes为单位的,唯独t模式下的read读取内容个数是以字符为单位 # f.seek(指针移动的字节数,模式控制): 控制文件指针的移动# 模式控制 ...

  7. visual studio 2017 installer 安装包制作过程出现的问题---无法注册模块 HRESULT -2147024769 请与您的技术支持人员联系

    使用visual studio 2017 installer制作打包程序时如果用到了外部控件需要按以下方式操作: 1.将应用程序及应用程序所用到的所有DLL拷贝到打包目录,加入打包程序之中. 2.将应 ...

  8. 视觉显著性检测(Visual saliency detection)相关概念

    视觉显著性检测(Visual saliency detection)指通过智能算法模拟人的视觉特点,提取图像中的显著区域(即人类感兴趣的区域). 视觉注意机制(Visual Attention Mec ...

  9. HTML5——Data Url生成

    HTML5——Data Url生成 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  10. IIS 之 通过 Web.config 修改文件上传大小限制设置方法

    在IIS 6.0中,不设置默认大小为4M,设置文件上传大小的方法,maxRequestLength(KB),executionTimeout(毫秒),配置如下节点: <system.web> ...