形参指针,实参字符串

字符串的本质其实是一个以空字符(\0)终止的字符数组,传递数组,数组会退化为指针

#include <stdio.h>

void test(char *p)
{
    printf("字符串是:%s",p);
}

int main()
{
    test("abcd");
    system("pause");
}
时间: 2024-10-10 14:10:25

形参指针,实参字符串的相关文章

参数传递:传值参数,指针形参,传引用参数,const形参和实参,数组形参,main:处理命令行选项,含有可变形参的函数

重点: 1.每次调用函数时都会重新创建它的形参,并用传入的实参对形参进行初始化. NOTE: 形参初始化的机理与变量初始化一样. 2.形参的类型决定了形参和实参交互的方式. (引用->绑定,非引用->拷贝) 3.实参分为:被引用传递(引用形参是实参的别名),被值传递(实参形参是两个相互独立的对象). 4.传值参数:函数对形参做的所有操作都不会影响实参. 5.指针形参:指针的行为和其他非引用类型一样,当执行指针拷贝操作时,拷贝的是指针的值.拷贝后,两个指针是不同的指针. NOTE: C程序员常常

C专家编程之为什么C语言把数组形参当做指针:数组/指针实参

#include<stdio.h> void print_array_test(char ca[]) { printf("ca : %s\n",ca); printf("&ca : %s\n",&ca); printf("&(ca[0]) : %s\n",&(ca[0])); printf("&(ca[1]) : %s\n",&(ca[1])); printf(&qu

实参和形参指针做函数参数时,如何改变main函数变量的值

//对输入的两个整数按大小顺序输出 代码如下: #include<iostream> using namespace std; int main() { void swap(int *p1,int *p2); int *pointer_1,*pointer_2,a,b; cin>>a>>b; pointer_1=&a; pointer_2=&b; if(a<b)swap(pointer_1,pointer_2); cout<<"

下列函数的功能是统计并返回形参指针S所指向的字符串所含字符‘A’的个数。

下列函数的功能是统计并返回形参指针S所指向的字符串所含字符‘A’的个数.试完成程序,写出应填写在程序空框中的代码. int counts(char *s) int n: for( n=0:. : s++) return n: 为统计字符指针s所指字符串包含的某字符的出现次数,必须用一个循环顺序考察整个字符串.由从指针s所指字符串的首字符开始,每考察一个字符后,指针s后移一个字符位置,考察循环直至字符率结束终止.所以填写在空框中的正确代码可写成*S!=‘\ 0’.由于字符串束符‘\ 0’的代码为

(一)Python入门-5函数:02形参和实参-文档字符串-函数注释-返回值详解

一:形参和实参 [操作]定义一个函数,实现两个数的比较,并返回较大的值. 1 def printMax(a,b): 2 '''实现两个数的比较,并返回最大值!''' 3 if a >b: 4 print(a,'较大值') 5 else: 6 print(b, '较大值') 7 8 printMax(20,30) 9 printMax(30,5) 10 11 #测试文档字符串的使用 12 help(printMax) 13 help(printMax.__doc__) 上面的 printMax 函

const形参和实参

当形参是const时,必须要注意关于顶层const的讨论.如前所述,顶层const的作用于对象本身: const int ci=42;  //不能改变ci,const是顶层的 int i=ci:   //正确:当拷贝ci时,忽略了它的顶层const int *const p=&i;  //const是顶层的,不能给p赋值 *p=0;    //正确:通过p改变对象的内容是允许的,现在i变成了0 和其他初始化过程一样,当用实参初始化形参时会忽略掉顶层const.换句话说,形参的顶层const被忽略

指针,数组,字符串

指针和数组的区别     指针和数组都可以通过下标的方法和指针发(p+i)来访问数组元素     1.指针  可以修改指向     数组名 是常量,表示首元素的地址,不能改变     2.指针存贮空间:4/8个字节     数组的存储空间:元素个数 * 空间存储空间 定义字符串两种方式:     1.使用数组定义字符串 ---->    字符串变量  字符串可以被改变     2.使用指针定义字符串 ---->    字符串常量  字符串元素不可改变 指针作为函数参数进行传递,可以实现形参的改

指针 指针与数组 指针与字符串 指针与函数 结构体与指针 宏

指针 指针与数组 指针与字符串 指针与函数?? 指针与数组 1.数组名:数组元素首地址 eg: int array[3]={1,3,6}; 这里array 恒等于&array[0] 2.int *p = a; int *p = 0; int a[]={0}; 3.int *p = a; 均指向数组的首地址 *p是? *(p+1)是?(*p)+1是? *(p+1)决定向下移动几个字节是类型 4.指针可以当数组名使用 p[1] = 3; 恒等于a[1] ;恒等于*(p+1);恒等于*(a+1) 5.

指针与字符串实例练习

在C语言中,字符串是存放在字符数组中的,字符串的引用如下: char string[] ="I love China!";//定义字符数组string printf("%s\n",string);//输出整个字符串 printf("%c\n",string[7]);//输出第七个元素 该字符串长度是14,最后一个字节存放字符串结束符'\0'. 例1:通过字符指针变量输出一个字符串. 1 int main() 2 { 3 char *string=

浅谈运用指针引用字符串

一.字符串的引用方式 1.如果字符串存放在字符数组中可以用数组名和下标引用 char string[10] = "Hello word"; printf("%s",string); 2.用字符指针变量指向字符串常量,用字符指针引用字符串 char *strp = "Hello word"; printf("%s",strp); //系统将字符串常量以字符数组形式保存在内存中,字符串末尾系统自动加了一个'\0'.再将字符数组的首