#include<stdio.h>
#include<stdlib.h>
void delete_word(char* s) {
while (*(s + 1) != '') {
*s = *(s + 1);
s++;
}
*s = ''; // 设置字符串结束符
}
int main() {
char *a = (char *)malloc(128);
char ch;
int i = 0;
while ((ch = getchar()) != EOF) {
*(a + i++) = ch;
}
*(a + i) = ''; // 设置字符串结束符
char* begin = a;
while (*a != '') {
if (*a == ' ') {
delete_word(a);
}
else {
a++;
}
}
printf("%sn", begin);
free(begin); // 释放内存
return 0;
}
#include<stdio.h>
int main() {
int a[5] = { 1,2,3,4,5 };
int* b = a;
for (int i = 0; i < 5; i++) {
printf("%d ", *(b + i));
}
printf("n");
return 0;
}
1 2 3 4 5
#include<stdio.h>
void f(int m[]) {
printf("%dn", sizeof(m) / sizeof(m[0]));
}
int main() {
int m[10] = { 0 };
printf("%dn", sizeof(m) / sizeof(m[0]));
f(m);
return 0;
}
输出的结果:
10
2
注解:
而单独的的指针为一个指针的大小,即:64位操作系统中8个字节,32位操作系统中4个字节
#include<stdio.h>
int main() {
int a[5] = { 1,2,3,4,5 };
int* p1 = (int*)(&a + 1);
int* p2 = (int*)((int)a + 1);
int* p3 = (int*)(a + 1);
printf("%dn%dn%dn", p1[0], p2[0], p3[0]);
return 0;
}
注解(图解非常详细)
输出结果:
只有p3会正常输出2
原文地址:https://blog.csdn.net/T3604220939/article/details/134713037
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_20794.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!