当前位置: 首页 > news >正文

佛山外贸网站建设行情东莞新闻最新消息今天

佛山外贸网站建设行情,东莞新闻最新消息今天,章丘建设局网站,长沙做推广的公司有多少文章目录 引入正文内部函数与外部函数相关数组的知识点数组的初始化测试一维数组在内存中存储的地址:遍历二维数组的值测试二维数组的地址(观察内存情况)数组下标为0开始的由来 两个数交换位置的三种方法 引入 写在前面:关于C语言这部分内容,…

文章目录

  • 引入
  • 正文
    • 内部函数与外部函数
    • 相关数组的知识点
      • 数组的初始化
      • 测试一维数组在内存中存储的地址:
      • 遍历二维数组的值
      • 测试二维数组的地址(观察内存情况)
      • 数组下标为0开始的由来
    • 两个数交换位置的三种方法

引入

写在前面:关于C语言这部分内容,有人说过,对自己的定位准确非常重要,我是小白。我正处于C语言知识积累阶段,并写不出成系统的知识供大家观看,而各个知识点内容都载自或者加工于网络上面优秀的博主,如果你觉好看,那一定这些博主的功劳,而我仅仅是根据自己的知识结构进行记录、和按照突然想到方式进行测试,然后把涉及不会的知识查找着补充进来,以便后面复习,其中不免有很多错误之处,如果你能指出了那最好不过,如果观看请一定带着批判角度去看。

正文

内部函数与外部函数

总结
内部函数:被static修饰的是内部函数,内部函数只能被本文件中其他函数调用,不能被其他文本的函数调用。
外部函数:被extern修饰的是外部函数,外部函数范围大,不仅可以被本文的其他函数调用,还可以被其他文本的函数调用;
C语言中规定,extren可以省略,但是在调用此函数的其他文件中,需要对此函数进行声明


点击跳转原文优秀博主bleauchat链接


相关数组的知识点

数组的初始化

int arr1[10] = {1,2,3};
int arr2[] = {1,2,3,4};
int arr3[5] = {1,2,3,4,5};//完全初始化
char arr4[] = {'a',98,'c'};
char arr5[] = {'a','b','c'};
char arr6[] = "abcdef";

数组在创建得时候如果想不指定数组得确定的大小就得初始化。数组得元素个数根据初始化得内容来确定。但是对于下面得代码要区分,内存中如何分配?


#include <stdio.h>
#include <string.h>int main(int argc, char **argv) {char arr1[] = "abc"; // 定义一个字符型数组,自动分配3个空间并赋值为"abc"char arr2[3] = {'a','b','c'}; // 定义一个字符型数组,手动分配3个空间并赋值为'a'、'b'、'c'printf("%d\n", sizeof(arr1)); // 输出arr1数组的大小,为4(包括末尾的'\0')printf("%d\n", sizeof(arr2)); // 输出arr2数组的大小,为3printf("%d\n", strlen(arr1)); // 输出arr1字符串的长度,为3(不包括末尾的'\0')printf("%d\n", strlen(arr2)); // 输出arr2字符串的长度,长度不定(因为不一定有'\0')
} 

对于printf(“%d\n”, strlen(arr2));也就是13行代码,两个编译器都有不同的值。
dev C++5.6.3
在这里插入图片描述
C(lang)在线工具点击蓝色跳转C(lang)在线工具

在这里插入图片描述

解释如下:
arr1 ----> a b c \0 ---->4个字节(sizeof)
arr2 ----> a b c ---->3个字节(sizeof)
arr1 ----> a b c \0 ---->3个字节(strlen)
arr2 ----> a b c ----> 随机值(strlen)因为后面遇到\0是随机的,不确定的
1、strlen 和 sizeof 没有什么关联
2、strlen 是求字符串长度的 - 只能针对字符串求长度 - 库函数 - 使用得引用头文件
3sizeof 计算变量、数组、类型得大小 - 单位是字节 -操作符
//注解:在没有引用头文件"   #include <string.h>  "双引号内的代码时,strlen会报错,而sizeof无需依赖其他头文件,只要有输入输出函数"   #include <stdio.h>  "就可以输出。

在这里插入图片描述
在这里插入图片描述

测试一维数组在内存中存储的地址:

#include <stdio.h>
int main() {int arr[10] = { 0 };int i = 0;for (i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i) {printf("&arr[%d] = %p\n", i, &arr[i]);}return 0;
}

注意:%p表示用户希望计算机显示的值是以数组的地址的方式输出的。
测试结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/e2762ad5183b4510b9e686c3b3b80aeb.png

测试结论:数组在内存中是连续存放的
在这里插入图片描述

遍历二维数组的值

#include <stdio.h>
int main(){//定义一个3行4列的二维数组,并初始化前两行int arr[3][4] = {{1,2},{4,5}};int i = 0;//循环3次,遍历每一行for(i=0; i<3; i++){int j = 0;//循环4次,遍历该行的每一个元素,并打印出该元素的值for(j=0; j<4; j++){printf("%d ", arr[i][j]);}}return 0;
}

在这里插入图片描述

测试二维数组的地址(观察内存情况)

#include <stdio.h>
int main(){   int arr[3][4]; // 定义一个3行4列的整型数组int i = 0;    for(i=0; i<3; i++) // 遍历每一行{int j = 0; for (j = 0; j < 4; j++) // 遍历每一列{ printf("&arr[%d][%d] = %p\n", i, j, &arr[i][j]); // 输出当前元素的地址}}   return 0; 
} 

在这里插入图片描述
结论:二维数组也在内存中的存储情况是连续的。

数组下标为0开始的由来

在这里插入图片描述

两个数交换位置的三种方法

//1temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;//2arr[j] = arr[j] * arr[j + 1];arr[j + 1] = arr[j] / arr[j + 1];arr[j] = arr[j] / arr[j + 1];//3arr[j] = arr[j] + arr[j + 1];arr[j + 1] = arr[j] - arr[j + 1];arr[j] = arr[j] - arr[j + 1];
http://www.dinnco.com/news/19807.html

相关文章:

  • 做地方房产网站怎么样搜索引擎广告形式有
  • 企业网站管理系统 开源营销公司取名字大全
  • 百度 模块网站百度问答平台入口
  • 网站开发分销系统太原seo团队
  • 做销售在哪个网站找客户端windows优化大师的特点
  • 无锡网站建设价格低广州做网站的公司哪家好
  • 网站安全检测腾讯竞价托管公司
  • 如何在百度里建网站拼多多关键词排名查询工具
  • 网站建设案例价位厦门网络关键词排名
  • 技术支持 东莞网站建设网络营销好不好
  • 邱县专业做网站经典广告
  • 建设银行郑州市自贸区分行网站西安自动seo
  • 免费商城网站系统营业推广
  • 党建网站 自身建设如何建立网站平台的步骤
  • 有关政府网站模板营业推广怎么写
  • 网站建设与运营市场开拓方案seo网站优化建议
  • 建一个商城网站需要多久软文模板app
  • 广州排名网站关键词优化搜索引擎网址
  • 深圳购物商城网站建设深圳网站seo
  • 网站开发必学的技巧有哪些深圳网站建设微信开发
  • 优秀的电商设计网站有哪些内容百度seo多少钱一个月
  • 做教育培训网站鸣蝉智能建站
  • 公司品牌flash网站设计baidu 百度一下
  • 中天建设集团有限公司董事长武汉百度快照优化排名
  • 一个网站建设的组成百度站长统计工具
  • 网站建设 图片seo翻译
  • 哪个网站做外贸假发好新发布的新闻
  • 卡片式设计 网站成都网络推广
  • wordpress 会员插件采集站seo赚钱辅导班
  • 设计一套企业网站设计报价东莞关键词排名seo