- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在玩和学习一些 C,创建了一个数组并将它连同它的大小一起传递给一个函数,这样我就可以遍历数组并打印它的所有元素(所以我给了函数两个参数:数组本身及其大小)。
但现在我喜欢通过将一个参数传递给函数来完成所有这些工作。我通过使用指针让它工作了一点,但我不知道如何停止,因为我没有关于数组长度的任何信息,它只在下面的代码中有效,因为我将数组长度放在 for 循环中。但是,如果我不知道大小并且只将一个参数传递给函数,那么一般情况下这将如何工作?
我认为如果指针指向我当前正在使用的数组之外,我认为它可能以某种方式实现,但这是否可行? :S
void printArray(int *p){
for(int i=0; i<4; i++){
printf("%d ", *(p+i));
}
}
int main(){
int myArray[4] = {8,4,1,1};
int *p = myArray;
printArray(p);
return 0;
}
最佳答案
在没有长度参数的情况下遍历指向数组的唯一方法是数组包含不同的终止符值。
例如,C 字符串是 char
值的“NULL 终止”数组。你可以遍历一个 char*
因为你知道测试是否存在 '\0'
字符,它的整数值为 0。
因为它适用于您问题中的代码,您可以使用 -1 作为终止符值,如下所示:
void printArray(int *p){
while (*p != -1{
printf("%d ", *p++);
}
}
但是请注意,这样做需要有一些方法可以将有效的 int
值解释为对于您的目的“无效”。
总的来说,将数组的长度传递给函数要简单得多。
关于c - 可以在函数内部运行一个 c 数组,只用一个指针作为参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677594/
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 6 年前。 Improve this ques
我是 jQuery 的新手. 是否可以仅使用 jQuery 和 HTML 创建一个网站,例如在线测验? 最佳答案 我想理论上你可以。 要使网站不仅仅是一组静态页面,它必须做一些有用的事情。页面本身只能
所以 'awesome document' LIKE '%doc%' 是真的,因为 doc 是一个子字符串。但是,我希望它是假的,而 'awesome doc' 或 'doc awesome' 或 '
我正在寻找在我的 mysql 数据库中转储所有数据的语法。我不想要任何表格信息。 最佳答案 mysqldump --no-create-info ... 你也可以使用: --skip-triggers
我有一个算法,它在一个循环中使用 C 按位运算符(> 运算符,并且不想使用任何计算机语言(包括汇编)中的现有算术运算符。 最佳答案 在硬件中,您可以在根本没有任何逻辑门的情况下实现左移 1。只需像
我想用四种颜色填充不同的 div,只使用 javascript(当然有 HTML 结构),代码如下: HTML 1 2 3 4 JS var colors = {
我有一个基本的元素设置,根文件夹中有 index.html 和 styles.css。我希望每次单击保存时对 .css 文件所做的更改都会在浏览器中自动刷新。这是我的 gruntfile.js 的内容
我创建了一个应用程序,我需要通过两种方式登录:- Facebook登入,- 正常登录(电子邮件、密码)。 我已经使用 Facebook SDK 添加了 FBLogin 并修改了一个按钮,以便不使用 f
我把它作为我的 gulpfile.js: 'use strict'; var gulp = require('gulp'); var sass = require('gulp-sass'); gulp
RTOS有必要一直用C语言写吗?为什么不能用 Java 或其他技术进行编码……??是不是因为java中没有指针概念? 最佳答案 垃圾收集是反对 Java 实时化的重要原因。 JIT 是另一个,但它可以
我有一个使用 Netbeans 构建的示例代码。 它有一个 build.xml 文件,所以我下载了 ant 并尝试运行它。 我收到此错误消息: ...... nbproject\build-impl.
我正在开发响应式 Web 应用程序,需要创建 2 个独立的内容区域,如下所示, 到目前为止,我尝试过, border-right: 30px solid transparent; border-bot
我有这两个模型: // EventBoost describes the model of a EventBoost type EventBoost struct { ID
是否有一些有用且常用的事情无法用纯 Javascript 完成,而使用一些(不可见)Flash 却可以? 例如文件访问、直接打印、浏览器窗口控制、检测已安装的应用程序... 编辑:我只对客户端脚本感兴
#botonHome .contButton p a span{ height:25px; } #botonHome .contButton p a spa
我的对象由五个字段组成: public class ConfigurationItem { @SerializedName("show_interest") boolean s
使用 SSE 考虑这两个函数: #include int ftrunc1(float f) { return _mm_cvttss_si32(_mm_set1_ps(f)); } int f
在 icc 19 上,点积通过 fma 指令编译为循环。在 clang 和 gcc 上,fma 仅由 -ffast-math 生成. 然而,-ffast-math违反 IEEE 合规性,但 fma 完
我有一个特定的日志消息可能会被打印很多次的场景(可能是数百万次)。例如,如果我们记录(使用 logger.warn() 方法)每条缺少字段的记录,我们最终可能会记录很多输入文件有很多记录的情况缺少字段
在这个回复中 https://stackoverflow.com/a/58737595拜托,你能解释一下怎么写吗: return f( f, std::forward(args)... ); 而 f
我是一名优秀的程序员,十分优秀!