指標10(字元指標做函式引數)
這幾天爭取把指標搞完。。。
將字串從一個函式傳遞到另一個函式,可以用字元陣列名作為實參,還可以用字元指標作實參,將字串的首地址傳遞到另一個函式中。
例如
題目 應用字元指標和函式,求一個字串的長度。
p.s.實際上就是strlen()函式
程式碼如下
#include<stdio.h> int string_len(char*s) {int i=0; while(*s) {i++; s++; } return (i); } int main() {int len; char str[80]; printf("Input string:"); gets(str); len=string_len(str); printf("len=%d\n",len); return 0; }
執行結果
下一部分 指標域函式
下一篇 指標11 指標作函式的引數
相關推薦
指標10(字元指標做函式引數)
這幾天爭取把指標搞完。。。 將字串從一個函式傳遞到另一個函式,可以用字元陣列名作為實參,還可以用字元指標作實參,將字串的首地址傳遞到另一個函式中。 例如 題目 應用字元指標和函式,求一個字串的長度。 p.s.實際上就是strlen()函式 程式碼如下 #includ
細節決定成敗(用結構體變數和結構體指標變數的指標做函式引數)
//有n個結構體變數, //內含學生學號, //姓名和3門 //課程成績 //要求輸出平均成績最高 //的學生的資訊 //包括學號,姓名, //3門課程成績和平均成績 #include <stdio.h> #define n 3 struct student{
建立一個物件陣列,內放5個學生的資料(學號,成績),用指向物件的指標做函式引數,在max函式中找出5個學生中成績最高者,並輸出其學號。
原始碼如下:主要注意友元函式的宣告 #include <iostream> #include <string> using namespace std; class Student { public: Student(string n,flo
c語言指標做函式引數,使用指標地址(二級指標)在被調函式中修改主調函式的指標。
1.程式碼 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char *prive; int data; } T_
智慧指標變數做函式引數的一個值得注意的地方
作者:朱金燦 先考考大家,下面一段程式,會有什麼問題:#include <iostream> #include <string> #include "boost
指標陣列做函式引數
#include <stdio.h> int main() { void average(float *p, int n); void search(float (*p)[
陣列和指標做函式引數傳遞
#include<iostream> using namespace std; void callByValue(int arr[], int n) { printf("\ncallByValue:"); for (int i = 0;i < 10;
函式指標做函式引數的意義
intOper(int(*MyPointerFuncAdd)(int a,int b)){int c=MyPointerFuncAdd(5,6);//間接呼叫} 實現了函式呼叫和任務的編寫可以分開。 這樣的話,這要是這個函式型別的函式,傳入不同的函式名,就能執行不同
go語言基礎之指標做函式引數
1、指標做函式引數 示例: package main //必須有個main包 import "fmt" func swap(a, b int) { a, b = b, a fmt.Printf("swap: a = %d, b = %d\n", a, b) } func
陣列做函式引數退化為指標
#include "stdio.h" #include "stdlib.h" #include "string.h" void printfArray(int *a) { int i = 0;
c語言中的二級指標做函式引數
1.用指標做函式引數申請動態記憶體的問題 //如果函式引數是指標,不能用一級指標做函式引數實現申請動態記憶體 void getMemory(char *p, int num) { p = (char *)malloc(sizeof(char)*num); } void
指標8(應用指標向函式傳遞陣列)
要在函式中使用實引數組元素或改變實引數組元素的值,有三種對應方法 1)實參用陣列名,形參用指標變數。 2)實參用指標變數,形參用陣列名 3)實參和形參都用指標變數 給出一道例題 應用函式與指標,對長度為10的一維陣列進行從小到大排序。 #include<stdio.h> vo
用陣列名做函式引數(轉)
可以用陣列名作函式引數,此時實參與形參都應用陣列名(或指標變數)。 例2:有一個一維陣列score,內放10個學生成績,求平均成績。 float average(float array[10]){ int i; float aver,sum=array[0]; for(i
成員函式指標:(結構+與普通函式指標之間的轉換)
通過記憶體拷貝(memcpy等)可以實現任意指標 間的強制轉換,但不能保證可以正常使用。 通過網上查詢發現: 函式成員指標其實與普通成員指標不同,它除了包含函式本身地址以外還包含其他資訊(例如是否為虛擬函式等),所以不能簡單的理解成員函式指標就是普通指標那樣一般佔4位元組
3203 陣列做函式引數----排序函式--C語言版
3203: 陣列做函式引數----排序函式--C語言版 時間限制: 1 Sec 記憶體限制: 128 MB提交: 253 解決: 151[提交][狀態][討論版][命題人:smallgyy] 題目描述 定義一個函式來完成對引數陣列中元素的排
3204: 陣列做函式引數--排序函式2--C語言
3204: 陣列做函式引數--排序函式2--C語言 時間限制: 1 Sec 記憶體限制: 128 MB提交: 211 解決: 143[提交][狀態][討論版][命題人:smallgyy] 題目描述 定義一個函式來完成對引數陣列中元素的排序工
vector c++元素做函式引數怎麼弄
最近碰到vector有點懵,猛地想不出怎麼只傳一個元素……聯想到結構體陣列結果更亂了…… 下面對比一下: 陣列元素,定義函式引數是int 容器類,定義函式引數就是包含的結構體student 對於int型陣列的元素作函式引數: #include <io
陣列做函式引數的退化問題
氣泡排序 #include "stdlib.h" #include "string.h" #include "stdio.h" void printArray(int* a) { for (size_t i = 0; i < 6; i++) { printf("%d\n", a[
python可變容器型別做函式引數的坑
def extendList(val, list=[]): # []預設引數的只指向一個地址 list.append(val) return list list1 = extendList(10) list2 = extendList(123, []) list3 = ext
angularjs學習之五(angularjs中一般函式引數的傳遞)
1.模型引數 直接使用變數名,不要加引號 <!doctype html> <html ng-app="passAter"> <head> <meta charset="utf-8"/> </head>