Sponsored Content
Full Discussion: Unclear pointer and array
Top Forums Programming Unclear pointer and array Post 302884210 by Akshay Hegde on Saturday 18th of January 2014 11:58:34 AM
Old 01-18-2014
Could this help you ?

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main(){

int start = 3;
int stop  = 9;
const char src[] = "A test string";

// print 6 char from src+start 
printf("%.*s\n",stop-start, src + start);

// &src[3] == src+3
printf("%s %s\n", &src[3], src+3);

// what is src+start ?
printf("src + %d = %s\n",start,src+start);

// print nchar from src+start
int nchar = 9;
printf("%.*s\n",nchar, src + start);


}

Code:
$ gcc test2.c
$ ./a.out 
est st
est string est string
src + 3 = est string
est strin

---edit----

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main(){

int start = 3;
int stop  = 9;
const char src[] = "A test string";

// I confused from  variable "count" that whether you like to print "char-start to char-stop" '3 - 9' or n char from start ?
unsigned int count = stop - start;

// print 6 char from src+start 
printf("char %d-%d = %d ~ %.*s\n",start,stop,count,count, src + start);

// n char specified in stop from starting
printf("Total char %d from start ~ %.*s\n",stop,stop,src + start);


}

Code:
$ ./a.out 
char 3-9 = 6 ~ est st
Total char 9 from start ~ est strin


Last edited by Akshay Hegde; 01-18-2014 at 01:24 PM..
This User Gave Thanks to Akshay Hegde For This Post:
 

9 More Discussions You Might Find Interesting

1. Programming

pointer

void main() { int a={1,2,3,4,5,6,7,8,9,10}; int *p=a; int *q=&a; cout<<q-p+1<<endl; } The output is 10, how? if we give cout<<q it will print the address, value won't print.... if we give cout<<p it will print the address, value won't print.... p has the base addr; q... (1 Reply)
Discussion started by: sarwan
1 Replies

2. UNIX for Dummies Questions & Answers

Storing pointer array in C

All .. I am having a pointer array . And trying to store the addess into that pointer array . please see below the problem i faced code: int cnt1; char *t_array; char *f_array; for(cnt1=0; cnt1<1000; cnt1++) { t_array =... (1 Reply)
Discussion started by: arunkumar_mca
1 Replies

3. Programming

pass a pointer-to-pointer, or return a pointer?

If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it: (1) one is to pass a pointer-to-pointer parameter, like: int my_malloc(int size, char **pmem) { *pmem=(char *)malloc(size); if(*pmem==NULL)... (11 Replies)
Discussion started by: aaronwong
11 Replies

4. Programming

C pointer/array duality confusion

Hi all, Can anyone provide help with getting the right syntax regarding array/pointers in C in the following code? Can't locate a specific example which clarifies this... Say I declare a typedef to an array of pointers to some type... /** * An array of ptrs to sections */ typedef... (4 Replies)
Discussion started by: gorga
4 Replies

5. Programming

help with char pointer array in C

i have an array like #define NUM 8 .... new_socket_fd = accept(socket_fd, (struct sockaddr *) &cli_addr, &client_length); char *items = {"one", "two", "three", "four", "five", "six", "seven", "eight"}; char *item_name_length = {"3", "3", "5", "4", "4", "3", "5", "5"}; ... (1 Reply)
Discussion started by: omega666
1 Replies

6. Programming

structure pointer array as function parameters

if i create an array of pointers to a structure "struct node" as: struct node *r; and create "n" number of "linked lists" and assign it to the various struct pointers r using some function with a return type as structure pointer as: r=multiplty(.......) /*some parameters*/ is... (2 Replies)
Discussion started by: mscoder
2 Replies

7. Shell Programming and Scripting

best practises for scripting + a few unclear points

Hi guys, Besides the points bellow, what would best practices for scripting be ? 1) set the PATH 2) unset the current environment (set -u ?) 3) (re)set the IFS to default value - space (IFS="" <- is this correct ?) 4) check the return code for each action inside the script (cd, rsync,... (1 Reply)
Discussion started by: da1
1 Replies

8. Programming

Character pointer to Character array

how to copy content of character pointer to character array in c programming.. char *num; char name=num; (1 Reply)
Discussion started by: zinat
1 Replies

9. Programming

Pointer for 2D array seems to be 3D in C

I am struggling with the pointer to 2D-array (cf: 2D array of pointers). Can anybody help me elaborate how the pointer x moves in the memory to access the individual of y, especially the high lighted lines? I have talked to one of the curators of the forum, but I am still not quite clear. Here... (1 Reply)
Discussion started by: yifangt
1 Replies
StringLabels(3o)						   OCaml library						  StringLabels(3o)

NAME
StringLabels - String operations. Module Module StringLabels Documentation Module StringLabels : sig end String operations. val length : string -> int Return the length (number of characters) of the given string. val get : string -> int -> char String.get s n returns character number n in string s . The first character is character number 0. The last character is character number String.length s - 1 . You can also write s.[n] instead of String.get s n . Raise Invalid_argument index out of bounds if n is outside the range 0 to (String.length s - 1) . val set : string -> int -> char -> unit String.set s n c modifies string s in place, replacing the character number n by c . You can also write s.[n] <- c instead of String.set s n c . Raise Invalid_argument index out of bounds if n is outside the range 0 to (String.length s - 1) . val create : int -> string String.create n returns a fresh string of length n . The string initially contains arbitrary characters. Raise Invalid_argument if n < 0 or n > Sys.max_string_length . val make : int -> char -> string String.make n c returns a fresh string of length n , filled with the character c . Raise Invalid_argument if n < 0 or n > Sys.max_string_length . val copy : string -> string Return a copy of the given string. val sub : string -> pos:int -> len:int -> string String.sub s start len returns a fresh string of length len , containing the characters number start to start + len - 1 of string s . Raise Invalid_argument if start and len do not designate a valid substring of s ; that is, if start < 0 , or len < 0 , or start + len > StringLabels.length s . val fill : string -> pos:int -> len:int -> char -> unit String.fill s start len c modifies string s in place, replacing the characters number start to start + len - 1 by c . Raise Invalid_argu- ment if start and len do not designate a valid substring of s . val blit : src:string -> src_pos:int -> dst:string -> dst_pos:int -> len:int -> unit String.blit src srcoff dst dstoff len copies len characters from string src , starting at character number srcoff , to string dst , start- ing at character number dstoff . It works correctly even if src and dst are the same string, and the source and destination chunks overlap. Raise Invalid_argument if srcoff and len do not designate a valid substring of src , or if dstoff and len do not designate a valid sub- string of dst . val concat : sep:string -> string list -> string String.concat sep sl concatenates the list of strings sl , inserting the separator string sep between each. val iter : f:(char -> unit) -> string -> unit String.iter f s applies function f in turn to all the characters of s . It is equivalent to f s.[0]; f s.[1]; ...; f s.[String.length s - 1]; () . val escaped : string -> string Return a copy of the argument, with special characters represented by escape sequences, following the lexical conventions of Objective Caml. If there is no special character in the argument, return the original string itself, not a copy. val index : string -> char -> int String.index s c returns the position of the leftmost occurrence of character c in string s . Raise Not_found if c does not occur in s . val rindex : string -> char -> int String.rindex s c returns the position of the rightmost occurrence of character c in string s . Raise Not_found if c does not occur in s . val index_from : string -> int -> char -> int Same as StringLabels.index , but start searching at the character position given as second argument. String.index s c is equivalent to String.index_from s 0 c . val rindex_from : string -> int -> char -> int Same as StringLabels.rindex , but start searching at the character position given as second argument. String.rindex s c is equivalent to String.rindex_from s (String.length s - 1) c . val contains : string -> char -> bool String.contains s c tests if character c appears in the string s . val contains_from : string -> int -> char -> bool String.contains_from s start c tests if character c appears in the substring of s starting from start to the end of s . Raise Invalid_argument if start is not a valid index of s . val rcontains_from : string -> int -> char -> bool String.rcontains_from s stop c tests if character c appears in the substring of s starting from the beginning of s to index stop . Raise Invalid_argument if stop is not a valid index of s . val uppercase : string -> string Return a copy of the argument, with all lowercase letters translated to uppercase, including accented letters of the ISO Latin-1 (8859-1) character set. val lowercase : string -> string Return a copy of the argument, with all uppercase letters translated to lowercase, including accented letters of the ISO Latin-1 (8859-1) character set. val capitalize : string -> string Return a copy of the argument, with the first character set to uppercase. val uncapitalize : string -> string Return a copy of the argument, with the first character set to lowercase. type t = string An alias for the type of strings. val compare : t -> t -> int The comparison function for strings, with the same specification as Pervasives.compare . Along with the type t , this function compare allows the module String to be passed as argument to the functors Set.Make and Map.Make . OCamldoc 2012-06-26 StringLabels(3o)
All times are GMT -4. The time now is 10:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy